私は残り火アドオンの作成に取り組んでおり、そのテストを作成しようとして少し行き詰まっています。このアドオンは、コンポーネントなどを出荷するのではなく、コマンド ライン オプションを実装します。その結果、moduleFor タイプ テスト ヘルパーはどれも、すぐに使用できる qunit テストに関連していません。私はコンポーネントをレンダリングしていません。コマンド ライン オプションの背後にある実装をテスト ランナーに実行してもらいたいだけです。
テストを作成するには、アドオンにあるさまざまなソース ファイルを必要とするだけです。たとえば、ルート/lib にあるファイル。root/tests/integration の下の qunit 統合テストでこれらのファイルを見つけることができる require/import を取得できません。これは可能ですか?次のような相対パスが必要です。
import foo from '../../../lib/foo'
しかし、そこには何も機能していないようです。アドオン用に作成されたフォルダー構造は次のようになります。
- 根
- アプリ
- lib (アドオン impl をここに置くことを計画していました)
- テスト
- ダミー
- ヘルパー
- 統合
- example-test.js (ここから lib フォルダーのコードを参照しようとしています)
この場合の私のオプションは、アドオンのルートに基づいて、ember マジックやダミーアプリを使用せずに、単純な古い JS ユニットテスト (qunit、jasmine など) にフォールバックすることのようです。ember generate addon によって提供される「すぐに使用できる」パスにとどまりたいのですが、ソース ファイルを参照できるように、ここで独自の方法を使用する必要があるようです。