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

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

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 サンプル アプリを最新の状態に保つことをお勧めします。これにより、すぐに実行できるようになります。何が欠けている...

ありがとう。

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

javascript - Sauce Labs での Ember CLI テスト

ember-cliSauce Labs でテストを実行するにはどうすればよいですか? Testem にはexample configurationがありますが、テストの実行時にビルドにパックされるember-cliため、それをコンパイル済みのテストに変換する方法がわかりません。testem.json

実行してからmyをember build --env=test入れて、例のように実行しようとしましたが、実行されるテストは0になります。"test_page": "dist/tests/index.html"testem.jstestem ci --port=8080

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

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(テストに合格するコメント)のモデルにあるようです:

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

ember-cli - ember-cli テストをポッドに入れる

テストをポッドに配置したいので、代わりに

したい

これはポッドを論理的な結論に導くようです。つまり、ポッドに関連するすべての「もの」をディレクトリ構造の他の場所に分散させるのではなく、ポッドに含めるということです。

src_filesプロパティtestem.jsonを include に設定することで、テストを取得できますapp/pods/**/*-test.js

ただし、jshint で問題が発生しています。.jshintrcin には、 などのtests事前定義がありmoduleForます。そのため、内部にあるテストtestsは jshint に問題なく合格します。ただし、テスト関連のグローバルを定義しないapp独自のがあります。.jshintrcそのため、 jshint は の下のテスト ファイルで失敗しますapp/pods。テスト関連のファイル用に別のファイルを保持したいのですが、テスト ファイルに 1 つを適用し、非テスト ファイルに別の 1 つを適用する.jshintrcにはどうすればよいですか?.jshintrc

より一般的に言えば、テスト ファイルを Pod 構造に配置するためのベスト プラクティスやコツはありますか?