Bal*_*ngh 5 javascript unit-testing ember.js ember-qunit
我们已经有一个应用程序正在努力为CI目的添加测试用例.
我们有一个小代码,用于尝试登录过程并检查可能的登录状态(如成功,失败,无效帐户帐户锁定等)后发生的情况.
所以我尝试了以下代码.
visit('/login')
.fillIn('#identification', "testuser")
.fillIn('#password', "testpass")
.click('input[type="submit"]')
andThen(function(){
ok(!exists('button:contains(sign in)'), '3. Login button is not displayed when authenticated');
ok(exists('.dropDownMenuOptions li:contains(Logout)'), '4. Logout button is displayed when authenticated');
});
Run Code Online (Sandbox Code Playgroud)
它在控制台中给出以下错误.
ember.debug.js:5162 Uncaught Error: Assertion Failed: You have turned on testing mode, which disabled the run-loop's autorun. You will need to wrap any code with asynchronous side-effects in a run
Run Code Online (Sandbox Code Playgroud)
执行单击后会发生此错误.当点击使AJAX调用服务器及其响应时,进行路由转换.
对于成功登录的情况下,我想检查我的路线改为从/login到/这我不能因为这个错误的事情.
请建议.
谢谢
Tor*_*ups 14
在处理表单提交的控制器/组件中,您必须执行一组(示例)
save: function() {
this.get('model').set('name', 'foo');
}
Run Code Online (Sandbox Code Playgroud)
如果这个工作是在运行循环(async)中完成的,那么在一些ajax事件之后一定要把它包装好w/ember就像这样运行
save: function() {
Ember.run(function() {
this.get('model').set('name', 'foo');
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3742 次 |
| 最近记录: |