問題タブ [testem]
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 cli と testem
私は Ember を初めて使用します。単純なプロジェクトを立ち上げて実行し、Chrome でいくつかの統合テストを実行したいと考えています。
彼らがアプリケーション ember-trackr を作成する本「Developing an Ember.js Edge」を購入しましたが、JS の世界ではすべてが高速で移動するため、詳細が変更されたようです。
もし私が:
エラーが発生します:
よくわかりませんが、http://emberjs.com/guides/testing/integration/の手順は、使用時にすでに処理されていると思います
したがって、新しいアプリを作成して testem を実行すると、次のようになります。
コンソールに「ランナーを待っています」というメッセージが表示され、Chrome が起動します。
ここで、tests/test1.js として簡単なテストを追加しようとすると (たとえば、ページ コンテンツのテキストをチェックする - http://www.ember-cli.com/#testingからコピー):
「testem」を実行すると、ランナーを待っているというメッセージが表示されます。
「ember test」を実行すると、次のようになります。
私が欠けているものについて何か手がかりを持っている人はいますか?
また、まだ行っていない場合は、ember-cli を使用して ember-trackr サンプル アプリを最新の状態に保つことをお勧めします。これにより、すぐに実行できるようになります。何が欠けている...
ありがとう。
javascript - Sauce Labs での Ember CLI テスト
ember-cli
Sauce Labs でテストを実行するにはどうすればよいですか? Testem にはexample configurationがありますが、テストの実行時にビルドにパックされるember-cli
ため、それをコンパイル済みのテストに変換する方法がわかりません。testem.json
実行してからmyをember build --env=test
入れて、例のように実行しようとしましたが、実行されるテストは0になります。"test_page": "dist/tests/index.html"
testem.js
testem ci --port=8080
ember.js - PhantomJS では単一のテストが失敗するが、Chrome と Firefox では機能する
Ember.js 1.10、Ember CLI 0.1.12 で 1 つの受け入れテストがあり、PhantomJS では失敗しますが、Chrome と Firefox の両方で正常に動作します。これを 2 日間デバッグしようとしましたが、アイデアが不足しています。テストの名前は、ユーザーがログイン時にログイン専用ページを表示できることです。基本的に、ログに記録されていないときにclassic
ルートにアクセスしようとすると、たとえばクラシック ルートのフックに/about
リダイレクトさstart.login
れます。beforeModel
あなたがオンになっていてstart.login
、正しい名前とユーザー名を与えると、logIn
アクションStartLoginController
が呼び出されます:
で次のアクションを呼び出すApplicationController
:
これは PhantomJS でも問題なく動作します。他のテストはパスします。アクションが正しく呼び出され、プロパティが正しく設定され、Cookie が正しく設定されます。beforeModel
フックでもtransitionTo
メソッドを正しく呼び出します(または呼び出しません)。PhantomJS の問題は呼び出しの非同期順序にあると考えていましたが、多くの場所でコードをラップしようEmber.run
としました。andThen
まったく運がありません。
testem.json
:
受け入れテストlogin-test.coffee
(不合格のテストが最後のテストです):
そして最後にテストからの出力:
リソースの他の子ルートに置き換えると、同じ PhantomJS のテストが失敗するclassic.about
ため、エラーの原因ではないと思います。classic
さて、問題はClassicRoute
(テストに合格するコメント)のモデルにあるようです:
ember-cli - ember-cli テストをポッドに入れる
テストをポッドに配置したいので、代わりに
したい
これはポッドを論理的な結論に導くようです。つまり、ポッドに関連するすべての「もの」をディレクトリ構造の他の場所に分散させるのではなく、ポッドに含めるということです。
src_files
プロパティtestem.json
を include に設定することで、テストを取得できますapp/pods/**/*-test.js
。
ただし、jshint で問題が発生しています。.jshintrc
in には、 などのtests
事前定義がありmoduleFor
ます。そのため、内部にあるテストtests
は jshint に問題なく合格します。ただし、テスト関連のグローバルを定義しないapp
独自のがあります。.jshintrc
そのため、 jshint は の下のテスト ファイルで失敗しますapp/pods
。テスト関連のファイル用に別のファイルを保持したいのですが、テスト ファイルに 1 つを適用し、非テスト ファイルに別の 1 つを適用する.jshintrc
にはどうすればよいですか?.jshintrc
より一般的に言えば、テスト ファイルを Pod 構造に配置するためのベスト プラクティスやコツはありますか?