2

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');

ぶら下がっている理由を知っている体はありますか?/それを継続させるために何ができますか?

4

1 に答える 1

0

問題は移行中だったのですが、mockjax リクエストによって処理されていない次のルートによって作成された非同期リクエストが他にもありました。これにより、エラーがスローされずにテスト環境がハングアップしました。

于 2014-06-14T19:55:56.840 に答える