使用ember.js v 1.5.1。
我使用karma和qunit来测试我的ember应用程序。在我的几个测试中,我有以下情况:1.a用户点击 - > 2.对我们的服务器进行异步调用 - >然后3.通过" this.transitionToRoute(' someroute& #39)"在控制器中调用。当它在测试时遇到transitionToRoute方法时,karma挂起。尝试用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');
任何人都知道它悬挂的原因?/我可以做些什么让它继续下去?
答案 0 :(得分:0)
问题在于它正在转换,但是下一个路由发出了更多异步请求,而我的mockjax请求没有处理这些异步请求。这导致测试环境挂起而没有抛出任何错误。