ember.js v 1.5.1 を使用。
カルマとクユニットを使用して、ember アプリケーションをテストします。私のテストのいくつかで、1.ユーザーがクリックする->2.サーバーに対して非同期呼び出しが行われる->そして3.コントローラーの「this.transitionToRoute('someroute')」を介した遷移が呼び出される状況があります. テスト中に transitionToRoute メソッドにヒットすると、カルマがハングします。ember.run 呼び出しでラップしようとしましたが、役に立たなかったようです。
遷移呼び出しをコメントアウトすると、それが実行され、それに応じて失敗します。
ハングして同等の呼び出しに到達しないテスト コードの例
test('successful registration request', function() {
setupMockRegistrationRequests();
visit("/register")
.fillIn('#email', 'test2')
.fillIn('#password','password')
.click('#submit')
.andThen(function() {
equal(find(".register-page .form-alert").length, 0, "Should be no error");
equal(find(".login-page").length, 1, "Should be on login screen");
});
});
コントローラーコード
テスト ケースの実行
//this.transitionToRoute('login');
テスト ケースがハングする
this.transitionToRoute('login');
ぶら下がっている理由を知っている体はありますか?/それを継続させるために何ができますか?