测试时的余烬错误:您将需要在运行中包装任何带有异步副作用的代码
Ember Error while testing: You will need to wrap any code with asynchronous side-effects in a run
我们已经有一个应用程序正在工作,只是为了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');
});
,它在控制台中给出以下错误:
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
单击后出现此错误。当点击向服务器发出AJAX调用时,在其响应中进行路由转换。
对于成功登录的情况,我想检查我的路由是否从/login
更改为/
,因为这个错误我无法做到。
请建议。
谢谢
在处理表单提交的控制器/组件中,您必须执行set(示例)
save: function() {
this.get('model').set('name', 'foo');
}
如果这个工作是在一些ajax事件之后的运行循环(async)中完成的,一定要像这样在/ember run中包装它
save: function() {
Ember.run(function() {
this.get('model').set('name', 'foo');
});
}
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- jQuery中是否内置了任何字符串格式化函数
- 如何使用带包装器的Javascript/jQuery动态修改CSS类
- 如何使用javascript将任何手机号码包装到锚标签中
- 如果对 JSONP 请求的服务器响应未正确包装在函数中,是否有任何方法可以覆盖“无效标签”错误
- 如果未返回任何值,则保持货币格式的JQgrid单元格为空,不带默认值
- 任何Sublime Text插件都可以用匿名函数自动包装生成的js
- 警告:任何对键控对象的使用都应该在作为子对象传递之前包装在React.addons.createFragment(obj
- 不带.com或任何其他前缀的windows.location.hostname
- 按键事件如何与不带任何焦点的元素一起工作?
- Extjs数据模型/存储是否支持任何包装代理构建器方法?
- 如何替换下划线之前的任何字母字符(带或不带重音)
- 任何方式有一个15秒的倒带按钮在jPlayer jquery插件
- 测试时的余烬错误:您将需要在运行中包装任何带有异步副作用的代码
- 是否接受带参数的javascript函数作为参数(无包装器)
- 自动包装任何node.js回调
- 有没有任何方法可以在不使用javascript子字符串函数或regex的情况下生成这个字符串日期表示(带时区)
- 任何显示不带HTML或CSS的输出的JavaScript编辑器
- 如果元素包含这些单词中的任何一个,则将该单词包装在 span 中