我們的應用程序在FixtureAdapter中使用了ember-data。我們正在使用Jasmine和js-test-driver測試模型代碼(各種JS計算)。它的每個塊在beforeEach塊中創建自己的一組記錄。重置ember-data FixtureAdapter存儲/模型在測試中
能正常工作與Ember-1.0.0-RC.1和灰燼數據在2013年3月5日(REV 7575f5a)當地建造。我目前正在嘗試升級到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)
它看起來像燼數據的更新版本上斷言唯一的ID。不幸的是,我們的測試需要在每個測試的beforeEach塊中重新創建記錄的硬編碼ID。因此,每個測試都創建了一個ID爲1001的Foo。
是否有一種簡單的方法可以使商店使用FixtureAdapter重置所有它的數據(並因此忘記了Foo 1001)?我試着重置燈具:
App.Foo.FIXTURES = []
然而,燼數據似乎仍然在某處跟蹤舊記錄。我也試過App.reset()
,但似乎沒有重置商店。
我們也做
App.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});
與假設,這將創建一個新的商店中清除所有數據的beforeEach塊,但這並不能工作。
是這個回答?你可以選擇一個答案或自己回答嗎?我想從「未回答」中刪除此問題 – 2014-05-02 04:52:01