小编Geo*_*yan的帖子

在测试中重置embture-data FixtureAdapter存储/模型

我们的应用程序使用FixtureAdapter的ember-data.我们正在使用Jasmine和js-test-driver测试模型代码(各种JS计算).每个块都在beforeEach块中创建自己的记录集.

这适用于2013-03-05(rev 7575f5a)本地构建的ember-1.0.0-rc.1和ember-data.我目前正在尝试升级到1.0.0-rc.3和最新的余烬数据,但我遇到了一个具有独特ID的障碍.运行所有测试时出现以下错误:

Error: assertion failed: The id 1001 has already been used with another record of type .Foo. in http://localhost:56390/js/lib/ember-1.0.0-rc.3.js (line 52)
Run Code Online (Sandbox Code Playgroud)

它看起来像是一个较新版本的独特ID上的ember-data断言.不幸的是,我们的测试需要硬编码的id用于在每个测试的beforeEach块中重新创建的记录.所以每个测试都创建一个ID为1001的Foo.

是否有一种简单的方法可以使用FixtureAdapter重置所有数据(因此忘记Foo 1001)?我尝试用以下方法重置灯具:

App.Foo.FIXTURES = []
Run Code Online (Sandbox Code Playgroud)

然而,ember-data似乎仍然在某处跟踪旧记录.我也尝试过App.reset(),但它似乎没有重置商店.

我们也这样做

App.Store = DS.Store.extend({
    revision: 12,
    adapter: 'DS.FixtureAdapter'
});
Run Code Online (Sandbox Code Playgroud)

在beforeEach块中假设通过创建新商店来清除所有数据,但这也不起作用.

ember.js ember-data

9
推荐指数
1
解决办法
661
查看次数

标签 统计

ember-data ×1

ember.js ×1