我想使用visit
助手来进行以下路线的集成测试:
App.IndexRoute = Em.Route.extend
model: ->
App.Movies.find "The Godfather"
但是我的测试没有通过,我得到了:
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 an Ember.run
不幸的是,像这样包装它并没有帮助:
App.IndexRoute = Em.Route.extend
model: ->
Em.run =>
App.Movies.find "The Godfather"
(我还包裹了@App = Em.Application.create()
)
将代码包装到运行循环中的正确方法是什么?
我正在使用rc.5
与Karma。
答案 0 :(得分:0)
事实证明,我尝试获取数据的服务器返回了 404 ,这导致Ember断言。
修复服务器端ID后,发现根本不需要Em.run()
。
有关详细信息,请参阅GitHub:https://github.com/emberjs/ember.js/issues/3051
答案 1 :(得分:-1)
如何为测试构建数据?这是应该包装在Ember.run中的那部分(或设置属性)。
使用FixtureAdapter,你应该有这样的东西:
Ember.run(function() {
App.Movie.FIXTURES=[{ name: "the Godfather" }, { name: "Apocalypse Now" }];
});