問題タブ [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 - アドオン プロジェクトからのヘルパーのユニット テストで問題が発生する
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 によって生成された元のテストが機能しなかった理由について、私はまだ混乱しています。
ember.js - Ember-cli 統合のクリック - タイプ エラー未定義は関数ではありません
新しい ember-cli アプリケーションがあり、ページ上のボタンをクリックしてモーダル ウィンドウを表示する (またはボタンをクリックした後にその存在を確認する) 統合テストをセットアップしています。
これは統合テストです:
click() リクエストにヒットするとすぐに、テストは失敗します。
私がオンラインで見たすべての例には、このメソッドが含まれています。私が取り出したのは間違いなくクリックであり、QUnit ではすべての結果が緑色です。
これは問題のルートにロードされているテンプレートです:
以下のコメント (ありがとう) に応えて、showModal アクションは、以下に示す routes/application.js ファイルから派生します。
私が何を間違っているのか、またはこのクリックイベントが発生しない (または見つからない) 理由を誰かに教えてもらえれば、非常に感謝しています。
どうもありがとう
ember.js - 別の ember コンポーネント内で Ember.easyForms 入力コンポーネントをテストするためのモック モデル
を使用して ember-cli qunit テストを使用してmoduleForComponent
います。作成した ember コンポーネント内に次の select 要素があります。
実際のsites
コレクションは、store
.
私はjsMockitoを使ってモックアウトしていstore
ます。
これをテストのパラメーターとしてコンポーネントに渡します。
生成された html は次のようになります。siteMock はレンダリングされたようですが、モックに適切な期待値を追加したにもかかわらず、正しく機能しませんでした optionLabelPath
。optionValuPath
siteMock
デバッガーでゲッターを使用してテストしたところ、すべてが期待どおりに機能しています。when
のいくつかのプロパティに別の条件が必要だと思いますがsiteMock
、何がわかりません。これを機能させるためのアドバイスを誰かに教えてもらえますか?
javascript - Ember-Cli でクラス メソッドを単体テストするにはどうすればよいですか
私のアプリケーションでは、GooglePlaceRetriever サービスでクラス メソッドをテストしたいと考えています。Ember-Cli でテストするときに this.subject() を使用してサービスのインスタンスを取得できることはわかっていますが、実際の GooglePlaceRetriever オブジェクト自体にアクセスしてクラス メソッドをテストする方法がわかりません。
ember.js - ember イベント トリガーの順序がアプリとテストで異なる
問題を示すために、この簡単なデモ コンポーネントを作成しました。コンポーネントコードは以下です
これを実行してfocus-out
要素をクリックすると、これがログの順序になります。デモへのリンク
- クリックされたフォーカス アウト コンテナー
- 外部コンテナーからの focusdOut
- フォーカスをボタンに設定
次のコードを使用して、これに対する受け入れテストを作成しようとしています。
ログの順序が異なります。デモへのリンク。
- クリックされたフォーカス アウト コンテナー
- フォーカスをボタンに設定
- クリック後テスト
- 外部コンテナーからの focusdOut
focusOut
ログは、クリック後のログの前ではなく、最後に印刷されました。最後に追加のログ(クリック後)だけで、ログの順序が同じになると予想していました。
これがバグなのか、私のコードに問題があるのか わかりません。
また、テストの実行中に別の問題に気付きました。テストの実行中に chrome dev-tools に注目すると、focusOut
イベントはまったくトリガーされません。
これに関するいくつかの助けは大歓迎です。
javascript - ember-cli: moduleFor が「不明なファクトリを登録しようとしています」というエラーで失敗する
moduleFor
ember-cli バージョン 0.1.5 を使用して新しいビルドで作業することができません。
ドキュメントのサンプル コードを使用するとmoduleFor
(アプリに他の変更を加えない場合)、実行後に次のエラーが発生しますember test
。
moduleFor
/tests/unit/index-test.js にサンプル サンプルを追加する以外にアプリに変更を加えていないので、これは ember-cli のバグではないでしょうか? moduleFor
参考までに、例のコードを以下に示します。
twitter-bootstrap - ember-cli 単体テスト - コントローラーがブートストラップ モーダルを開きます
私のemberコントローラーの単体テストを書こうとしています。プロパティを変更してから、ブートストラップ モーダルを開きます。モーダルが実際に開かれることをテストする方法を理解するのが難しい。これが単体テストまたは統合テストに属しているかどうかはわかりません。私の単体テストに含まれていない場合、後でコードカバレッジを判断するのは難しいようです。ブートストラップ バージョン: 3.3.1、ember-cli バージョン 0.1.5、ノード 0.10.33。これが私が無駄にしようとしたものです:
1.
アサーションエラーなし
2.
andThen は定義されていません
コントローラーは次のとおりです。
この種のものをテストする方法に関する他の提案やベストプラクティスは高く評価されます。
psまた、クリックする前にこれを追加しようとしました:
誰かの提案によるが、モーダル遷移を無効にするわけではありません。