問題タブ [ember-qunit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ember.js - Ember - トリガーイベントヘルパー
残り火受け入れテストで「変更」イベントをトリガーするのに問題があります。
観測された「値」プロパティを持つレンジスライダーがあります。変更時に、スライダーは、スライダーの値に基づいてパラメーターを使用して URL を更新する API 要求を送信します。
jQuery を使用してテストでスライダーの値を変更できます。これにより、UI のスライダーが正常に更新されます...
$("#slider").val(3.0).change();
...しかし、変更イベントは発生しないため、API 呼び出しはありません。この同じセットアップは、「クリック」または「フィルイン」を使用してリクエストをトリガーできる同様のテストで正常に機能します。
実行ループと triggerEvent ヘルパー (以下を参照) の両方を使用してみましたが、うまくいきません。
triggerEvent() の設定が間違っていますか? これを処理するより良い方法はありますか?
ember.js - ボックスのテストから直接 ember アドオン コードをインポートする
私は残り火アドオンの作成に取り組んでおり、そのテストを作成しようとして少し行き詰まっています。このアドオンは、コンポーネントなどを出荷するのではなく、コマンド ライン オプションを実装します。その結果、moduleFor タイプ テスト ヘルパーはどれも、すぐに使用できる qunit テストに関連していません。私はコンポーネントをレンダリングしていません。コマンド ライン オプションの背後にある実装をテスト ランナーに実行してもらいたいだけです。
テストを作成するには、アドオンにあるさまざまなソース ファイルを必要とするだけです。たとえば、ルート/lib にあるファイル。root/tests/integration の下の qunit 統合テストでこれらのファイルを見つけることができる require/import を取得できません。これは可能ですか?次のような相対パスが必要です。
しかし、そこには何も機能していないようです。アドオン用に作成されたフォルダー構造は次のようになります。
- 根
- アプリ
- lib (アドオン impl をここに置くことを計画していました)
- テスト
- ダミー
- ヘルパー
- 統合
- example-test.js (ここから lib フォルダーのコードを参照しようとしています)
この場合の私のオプションは、アドオンのルートに基づいて、ember マジックやダミーアプリを使用せずに、単純な古い JS ユニットテスト (qunit、jasmine など) にフォールバックすることのようです。ember generate addon によって提供される「すぐに使用できる」パスにとどまりたいのですが、ソース ファイルを参照できるように、ここで独自の方法を使用する必要があるようです。
css - QUnit で CSS スタイルをテストする必要がありますか?
私は現在、EmberJS を使用して Web アプリを開発しています。その間、組み込みの QUnit フレームワークを使用してテストしています。以下にリストされているテストとスタイルについていくつか質問を受けました。
1 css スタイルをテストする必要はありますか? つまり、ブラウザで視覚的にチェックするのではなく、テストケースを書くということです。
2 スタイルシートで px または rem を使用する必要がありますか? 以前はレスポンシブデザインやHiDPIデバイスでremを使っていたのですが、最近pxでもできることがわかり、remよりもpxに対応しているという声があります。このようにhttps://mindtheshift.wordpress.com/2015/04/02/rip-rem-viva-css-reference-pixel/
3 本当に、本当に配線されています...スパンのフォントサイズを15pxに設定しましたが、QUnitテスト結果は18pxになります(htmlベースのフォントサイズは16pxで、手動で設定されています)。非常に単純な DOM 構造で、他のフォントサイズのルールはありません。ここに画像の説明を入力
前もって感謝します!
ember.js - ember テストで Chrome URL オブジェクトにアクセスする
プロミスを返し、ナビゲーターの URL オブジェクトから createObjectURL を呼び出す外部メソッドへの呼び出しを行う ember コンポーネントをテストしています。
ただし、テストは常に次を返します。
サービスを作成して注入し、オブジェクトを作成して@subject()メソッドに渡そうとしましたが、まだです。ember テスト内でchromeブラウザの window.URL オブジェクトにアクセスする方法はありますか?
ember.js - Cli mirage ルートが受け入れテストで機能しない
cli mirage をモックサーバーとして使用して、ログインページの受け入れテストを試みていました。Mirage で定義されたルートは、アプリケーションからアクセスするときに正常に機能します。しかし、ember test で試してみると、返されます
Mirage: Ember アプリが「http://localhost:4200/tests?module=Acceptance | login' ですが、この要求を処理するために定義されたルートがありませんでした。mirage/config.js ファイルで、このパスに一致するルートを定義します。名前空間を追加するのを忘れましたか?
受け入れテスト
ミラージュ/設定
この問題を修正するにはどうすればよいですか? 誰か助けてください。
ember.js - HTML を出力するヘルパーを使用するコンポーネントに対して、Ember で QUnit 統合テストを行うにはどうすればよいですか?
HTML を作成するヘルパーを使用する Ember コンポーネントがあり、コンポーネントとヘルパー HTML を組み合わせた結果の HTML をチェックするテストを作成しようとしています。
例...
コンポーネントは以下を生成します:<div class="one"></div>
ヘルパーは以下を生成します:<div class="two"></div>
コンバインは次のものを生成します。<div class="one"><div class="two"></div></div>
何が起こっているかというと、HTMLBars がヘルパーの HTML を生成していないということです。ヘルパーに渡された JSON 値を入力します。
したがって、テストは以下を生成します。<div class="one">true</div>
ヘルパーがアクティブであるべきだと言うために何かを含める必要がありますか?
ember.js - ミックスインにサービスを注入する Ember2.3+
Ember に追加されたので、Mixin に注入されたサービスをチェックしようとすると、単体テスト スイートにポップアップするエラーの問題が発生しています(廃止ガイドはこちら)。getOwner()
これは私のミックスインです:
これは、ember-cli によって生成された後に少し変更された私の基本的な単体テストです。
表示されるエラー メッセージは非常に明確ですが、解決策が見つかりません。
エラー: アサーションに失敗しました: コンテナのないオブジェクトで注入されたプロパティをルックアップしようとしています。オブジェクトがコンテナを介してインスタンス化されていることを確認してください。
アプリが実行されているとき、サービスはそこにあります。失敗するのはテストだけです。 エンバー 2.5.1 - エンバー CLI 2.5.0
ember.js - rootElement が原因で、ember 受け入れテスト エラー「アサーションに失敗しました」
受け入れテストのエラーの経験がある人はいますか? 「エラー: アサーションに失敗しました: 'ember-application' クラスを rootElement に追加できません。rootElement を本体または本体内の要素に設定してください。」というエラーが表示されます。これに対する答えはどこにも見つかりません。助けてください。ハマった。