問題タブ [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.

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

ember.js - アドオン プロジェクトからのヘルパーのユニット テストで問題が発生する

https://github.com/stefanpenner/ember-cli/issues/2421

エンバークリ: 1.2

次のようなタイトルケースヘルパーを持つボイラープレートアドオンプロジェクトがあります。

私のヘルパーapp/helpers/title-case.js

ember-cli を使用してヘルパーのテストを生成しました

これは出力でした:

ember-cli からテストを実行中

次のエラーが発生します。

アップデート

自動生成された「ボイラープレート」の代わりに以下を「ダミー」に変更して、中括弧を削除してみました。

さらにテストメソッドに入りますが、次のように呼び出したときに失敗しましたtitleCase(42):

更新 #2

私はこれを機能させることができましたが、それは醜いです。._rawFunctionプロパティにアクセスして、インポートステートメントの形式を変更する必要がありました。

ember-cli によって生成された元のテストが機能しなかった理由について、私はまだ混乱しています。

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

ember.js - Ember-cli 統合のクリック - タイプ エラー未定義は関数ではありません

新しい ember-cli アプリケーションがあり、ページ上のボタンをクリックしてモーダル ウィンドウを表示する (またはボタンをクリックした後にその存在を確認する) 統合テストをセットアップしています。

これは統合テストです:

click() リクエストにヒットするとすぐに、テストは失敗します。

私がオンラインで見たすべての例には、このメソッドが含まれています。私が取り出したのは間違いなくクリックであり、QUnit ではすべての結果が緑色です。

これは問題のルートにロードされているテンプレートです:

以下のコメント (ありがとう) に応えて、showModal アクションは、以下に示す routes/application.js ファイルから派生します。

私が何を間違っているのか、またはこのクリックイベントが発生しない (または見つからない) 理由を誰かに教えてもらえれば、非常に感謝しています。

どうもありがとう

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

ember.js - 別の ember コンポーネント内で Ember.easyForms 入力コンポーネントをテストするためのモック モデル

を使用して ember-cli qunit テストを使用してmoduleForComponentいます。作成した ember コンポーネント内に次の select 要素があります。

実際のsitesコレクションは、store.

私はjsMo​​ckitoを使ってモックアウトしていstoreます。

これをテストのパラメーターとしてコンポーネントに渡します。

生成された html は次のようになります。siteMock はレンダリングされたようですが、モックに適切な期待値を追加したにもかかわらず、正しく機能しませんでした optionLabelPathoptionValuPath

siteMockデバッガーでゲッターを使用してテストしたところ、すべてが期待どおりに機能しています。whenのいくつかのプロパティに別の条件が必要だと思いますがsiteMock、何がわかりません。これを機能させるためのアドバイスを誰かに教えてもらえますか?

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

javascript - Ember-Cli でクラス メソッドを単体テストするにはどうすればよいですか

私のアプリケーションでは、GooglePlaceRetriever サービスでクラス メソッドをテストしたいと考えています。Ember-Cli でテストするときに this.subject() を使用してサービスのインスタンスを取得できることはわかっていますが、実際の G​​ooglePlaceRetriever オブジェクト自体にアクセスしてクラス メソッドをテストする方法がわかりません。

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

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

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

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

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

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

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

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

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

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

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

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

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

javascript - ember-cli: moduleFor が「不明なファクトリを登録しようとしています」というエラーで失敗する

moduleForember-cli バージョン 0.1.5 を使用して新しいビルドで作業することができません。

ドキュメントのサンプル コードを使用するとmoduleFor(アプリに他の変更を加えない場合)、実行後に次のエラーが発生しますember test

moduleFor/tests/unit/index-test.js にサンプル サンプルを追加する以外にアプリに変更を加えていないので、これは ember-cli のバグではないでしょうか? moduleFor参考までに、例のコードを以下に示します。

0 投票する
2 に答える
954 参照

twitter-bootstrap - ember-cli 単体テスト - コントローラーがブートストラップ モーダルを開きます

私のemberコントローラーの単体テストを書こうとしています。プロパティを変更してから、ブートストラップ モーダルを開きます。モーダルが実際に開かれることをテストする方法を理解するのが難しい。これが単体テストまたは統合テストに属しているかどうかはわかりません。私の単体テストに含まれていない場合、後でコードカバレッジを判断するのは難しいようです。ブートストラップ バージョン: 3.3.1、ember-cli バージョン 0.1.5、ノード 0.10.33。これが私が無駄にしようとしたものです:

1.

アサーションエラーなし

2.

andThen は定義されていません

コントローラーは次のとおりです。

この種のものをテストする方法に関する他の提案やベストプラクティスは高く評価されます。

psまた、クリックする前にこれを追加しようとしました:

誰かの提案によるが、モーダル遷移を無効にするわけではありません。