transitionToRoute вызывает зависание теста ember

Использование ember.js версии 1.5.1.

Я использую karma и qunit для тестирования своего 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');

Кто-нибудь знает, почему он зависает? / Что я могу сделать, чтобы он продолжался?


person bizzl3    schedule 14.06.2014    source источник
comment
Он переходит? просто испытания прекращаются?   -  person Kingpin2k    schedule 14.06.2014
comment
Ваш вопрос привел меня к моему ответу, спасибо.   -  person bizzl3    schedule 14.06.2014


Ответы (1)


Проблема заключалась в том, что он переходил, но на следующем маршруте было больше асинхронных запросов, которые не обрабатывались моими запросами mockjax. Это привело к зависанию среды тестирования без каких-либо ошибок.

person bizzl3    schedule 14.06.2014