問題タブ [ember-testing]

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.

0 投票する
1 に答える
943 参照

ember.js - Ember.run.later が完了するまでテストを遅らせる

私はいくつかのテストに合格するためにember addonを取得しようとしています。Em.run.next を使用して、実行ループで後で実行されるコードを追加するまで、昨日まで問題なく動作していました。

これが私のテストで行っていることです。

問題は、クリックがトリガーされたとき、後の関数が の後に実行されることandThenです。その時までに、すべてのテストが完了し、エラーがスローされます。私は印象を受けており、すべての非同期処理が完了するまで待つ必要があります。

これは、クリックがトリガーされたときに私のコードがどのように見えるかです(クリック時に focusOut イベントがトリガーされます)

エラーが発生することがわかりますUncaught TypeError: Cannot read property 'has' of undefined。これは focusOut メソッドからのものです。関数がコンポーネントを実行するまでに、_state は「破棄中」であり、this.$()未定義を返します。

ヘルパーを試してみましたがwait、まだテストを機能させることができません。これは通常どのように行われますか。ビンで実行するテストを抽出しました。ここにリンクがあります。

0 投票する
1 に答える
883 参照

ember.js - ember イベント トリガーの順序がアプリとテストで異なる

問題を示すために、この簡単なデモ コンポーネントを作成しました。コンポーネントコードは以下です

これを実行してfocus-out要素をクリックすると、これがログの順序になります。デモへのリンク

  1. クリックされたフォーカス アウト コンテナー
  2. 外部コンテナーからの focusdOut
  3. フォーカスをボタンに設定

次のコードを使用して、これに対する受け入れテストを作成しようとしています。

ログの順序が異なります。デモへのリンク

  1. クリックされたフォーカス アウト コンテナー
  2. フォーカスをボタンに設定
  3. クリック後テスト
  4. 外部コンテナーからの focusdOut

focusOutログは、クリック後のログの前ではなく、最後に印刷されました。最後に追加のログ(クリック後)だけで、ログの順序が同じになると予想していました。

これがバグなのか、私のコードに問題があるのか​​ わかりません。

また、テストの実行中に別の問題に気付きました。テストの実行中に chrome dev-tools に注目すると、focusOutイベントはまったくトリガーされません。

これに関するいくつかの助けは大歓迎です。

0 投票する
1 に答える
1116 参照

ember.js - ルートにアクセスした後に Ember 統合テストがハングする

簡単な統合テストを実行しようとしています。ember-cli Web サイトの統合例から始めました。現在、ブラウザー (localhost:4200/tests) でテストすると、次のケースは期待どおりの場所にルーティングされますが、ハングするだけで、成功も失敗もありません。

ここで私が間違っていることはありますか?または、それを行う別の方法はありますか?

ember-cli 0.1.5 および ember 1.9.1

編集:

ロギングを有効にすると、移行が完了したことが示されますが、それでも解決されないか、拒否されます。

編集:

絞ったと思います。すべてのコントローラーに注入するクロック サービスがありますが、まったく注入しない場合、テストはパスします。クロック サービスが提供する機能が必要ですが、統合テストを機能させるにはどうすればそれを使用できますか?

サンプル プロジェクトはhttps://github.com/RyanHirsch/ember-test-exampleにあります。run.later を削除すると、テストはパスします。

0 投票する
1 に答える
2075 参照

ember.js - 残り火テストでPhantomJS 2.0がハングアップする

私は簡単な ember-cli アプリを持っています。で単体テストをember test実行すると、phantomJS で実行されます。Function.prototype.bindファントム 1.9.x にその API がないというよく知られた問題のため、を使用したテストは失敗しています。ファントム 2.0 をインストールember testしましたが、ビルドに成功した後に を実行すると、テストは実行されず、ハングしたままで、エラーも何もありません。

ここで問題が何であるか、またはそれを追跡する方法についてのアイデアはありますか?

OSはWindowsです。