由于使用ember-data 1.13.4进行记录,验收测试失败

时间:2015-07-07 18:15:02

标签: ember.js ember-data ember-cli

我刚刚将1.0-beta-18的ember-data更新为1.13.4并修复了我在验收测试期间发生的所有问题,当我尝试destroy我的afterEach应用程序时}}

Error: Assertion Failed: You can only unload a record which is not inFlight. `<frontend@model:user::ember2881:null>`
    at new Error (native)
    at Error.EmberError (http://192.168.56.101:4200/assets/vendor.js:25627:21)
    at Object._emberMetalCore.default.assert (http://192.168.56.101:4200/assets/vendor.js:15879:13)
    at Object.ember$data$lib$system$model$states$$assertAgainstUnloadRecord [as unloadRecord] (http://192.168.56.101:4200/assets/vendor.js:80625:13)
    at InternalModel.ember$data$lib$system$model$internal$model$$InternalModel.send (http://192.168.56.101:4200/assets/vendor.js:82563:34)
    at InternalModel.ember$data$lib$system$model$internal$model$$InternalModel.unloadRecord (http://192.168.56.101:4200/assets/vendor.js:82441:14)
    at ember$data$lib$system$store$$Service.extend.unloadAll (http://192.168.56.101:4200/assets/vendor.js:84142:20)
    at Array.forEach (native)
    at ember$data$lib$system$store$$Service.extend.unloadAll (http://192.168.56.101:4200/assets/vendor.js:84133:48)
    at ember$data$lib$system$store$$Service.extend.willDestroy (http://192.168.56.101:4200/assets/vendor.js:85034:14)

当我在应用程序中停用路由时,我执行user.save()会导致xhr熄灭,并在应用程序销毁时触发此失败。正在删除user.save()。我尝试过更新到最新的ember-cli-qunitember-qunit但没有运气。

我的afterEach如下所示 -

afterEach: function () {
    Ember.run(application, 'destroy');
    ajaxMock.shutdown();
}

在升级之前,这不是问题。我该如何解决或解决这个问题?

1 个答案:

答案 0 :(得分:0)

我们碰到了类似的事情。我们实际上在我们的一个对象(会话服务)上定义了一个destroy方法,无意中覆盖了Ember.Object的destroy。将其重命名为其他内容(在我们的案例中为terminate)解决了这个问题。