問題タブ [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.
ember.js - Ember.run.later が完了するまでテストを遅らせる
私はいくつかのテストに合格するためにember addonを取得しようとしています。Em.run.next を使用して、実行ループで後で実行されるコードを追加するまで、昨日まで問題なく動作していました。
これが私のテストで行っていることです。
問題は、クリックがトリガーされたとき、後の関数が の後に実行されることandThen
です。その時までに、すべてのテストが完了し、エラーがスローされます。私は印象を受けており、すべての非同期処理が完了するまで待つ必要があります。
これは、クリックがトリガーされたときに私のコードがどのように見えるかです(クリック時に focusOut イベントがトリガーされます)
エラーが発生することがわかりますUncaught TypeError: Cannot read property 'has' of undefined
。これは focusOut メソッドからのものです。関数がコンポーネントを実行するまでに、_state は「破棄中」であり、this.$()
未定義を返します。
ヘルパーを試してみましたがwait
、まだテストを機能させることができません。これは通常どのように行われますか。ビンで実行するテストを抽出しました。ここにリンクがあります。
ember.js - ember イベント トリガーの順序がアプリとテストで異なる
問題を示すために、この簡単なデモ コンポーネントを作成しました。コンポーネントコードは以下です
これを実行してfocus-out
要素をクリックすると、これがログの順序になります。デモへのリンク
- クリックされたフォーカス アウト コンテナー
- 外部コンテナーからの focusdOut
- フォーカスをボタンに設定
次のコードを使用して、これに対する受け入れテストを作成しようとしています。
ログの順序が異なります。デモへのリンク。
- クリックされたフォーカス アウト コンテナー
- フォーカスをボタンに設定
- クリック後テスト
- 外部コンテナーからの focusdOut
focusOut
ログは、クリック後のログの前ではなく、最後に印刷されました。最後に追加のログ(クリック後)だけで、ログの順序が同じになると予想していました。
これがバグなのか、私のコードに問題があるのか わかりません。
また、テストの実行中に別の問題に気付きました。テストの実行中に chrome dev-tools に注目すると、focusOut
イベントはまったくトリガーされません。
これに関するいくつかの助けは大歓迎です。
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 を削除すると、テストはパスします。
ember.js - 残り火テストでPhantomJS 2.0がハングアップする
私は簡単な ember-cli アプリを持っています。で単体テストをember test
実行すると、phantomJS で実行されます。Function.prototype.bind
ファントム 1.9.x にその API がないというよく知られた問題のため、を使用したテストは失敗しています。ファントム 2.0 をインストールember test
しましたが、ビルドに成功した後に を実行すると、テストは実行されず、ハングしたままで、エラーも何もありません。
ここで問題が何であるか、またはそれを追跡する方法についてのアイデアはありますか?
OSはWindowsです。