【发布时间】:2015-03-06 19:11:19
【问题描述】:
我有一些访问商店的单元测试。只要我将它们包装在运行回调中,我会认为这会很好。不幸的是,事实并非如此。我收到此错误:
afterEach 在#foo 上失败:断言失败:您只能卸载不在飞行中的记录。
据我了解,这正是 run 应该防止的。我的测试看起来像这样:
test('#foo', function(assert) {
var store = this.store();
var model = this.subject();
Ember.run(function() {
var secondModel = store.createRecord('secondModel', { foo: 'bar' });
model.set('secondModel', secondModel);
var foo = model.get('secondModelFoo');
assert.equal(foo, 'bar');
});
});
【问题讨论】:
-
您使用的似乎是旧版本的 Ember Data。
-
为什么这么说?
-
您使用哪个 ember-data 版本?我在 beta15 下的集成测试中遇到了同样的问题
-
是的,我在 beta15 上。据我回忆,这是因为我已将模型设置为立即保留任何属性更改,而不是等到
save被调用,类似于this。不过,我忘记了我是如何解决这个问题的。
标签: ember.js qunit ember-qunit