Nasza aplikacja używa danych ember z FixtureAdapter. Testujemy kod modelu (różne obliczenia JS) używając Jasmine i js-test-driver. Każdy blok tworzy własny zestaw rekordów w bloku beforeEach.Resetuj dane ember FixtureAdapter sklepów/modele w testach
Działa to dobrze z danymi ember-1.0.0-rc.1 i ember zbudowanymi lokalnie 2013-03-05 (rev 7575f5a). Obecnie próbuję dokonać aktualizacji do wersji 1.0.0-rc.3 i najnowszych danych ember, ale trafiam na blokadę drogi z unikatowymi identyfikatorami. Dostaję następujący błąd podczas uruchamiania wszystkich testów:
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)
Wygląda nowszej wersji Cienia-danych utrzymuje się na unikalnych identyfikatorów. Niestety, nasze testy wymagają identyfikatorów na stałe dla rekordów, które są odtwarzane w bloku beforeEach każdego testu. Każdy test tworzy Foo z identyfikatorem 1001.
Czy istnieje prosty sposób na zrobienie sklepu z FixtureAdapter resetowanie wszystkich z jego danych (i w konsekwencji zapomnieć o Foo 1001)? Próbowałem zresetować urządzenia za pomocą:
App.Foo.FIXTURES = []
Jednak dane z ember wciąż śledzą gdzieś stare zapisy. Próbowałem również App.reset()
, ale nie wydaje się, aby zresetować sklep.
Wykonujemy również
App.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});
w bloku beforeEach przy założeniu, że będzie usunąć wszystkie dane przez utworzenie nowego sklepu, ale to nie działa.
Czy to odpowiedział? Czy możesz wybrać odpowiedź lub odpowiedzieć sam? Chciałbym usunąć ten problem z "bez odpowiedzi". –