Próbuję wykonać podstawowy test "działa" dla Mixina, który ma być używany z Modelem. Zakładam, że podejście do testowania jednostkowego Mixina powinno się odbywać nie na samym Mixinie, ale na ogólnej klasie Modelu, w której mieszanka ta została zmieszana.Jednostka testująca model Mixina
Zakładając, że to pierwsze założenie/strategia ma sens, oto co próbowałem wykonać:
import DS from 'ember-data';
import Ember from 'ember';
import DictionaryManagerMixin from 'trainer/mixins/dictionary-manager';
module('DictionaryManagerMixin');
test('it works', function() {
var DictionaryManagerModel = DS.Model.extend(DictionaryManagerMixin, {
title: DS.attr('string')
});
var myStore = DS.Store.create();
var subject = myStore.createRecord(DictionaryManagerModel);
ok(subject);
});
ten nie działa, co daje następujący błąd:
TypeError: Cannot read property 'lookup' of undefined
at null.<anonymous> (http://localhost:4200/assets/vendor.js:95610:35)
at Descriptor.ComputedPropertyPrototype.get (http://localhost:4200/assets/vendor.js:28466:25)
at get (http://localhost:4200/assets/vendor.js:33944:21)
at Ember.Object.extend.adapterFor (http://localhost:4200/assets/vendor.js:97005:27)
at Ember.Object.extend._generateId (http://localhost:4200/assets/vendor.js:95682:28)
at Ember.Object.extend.createRecord (http://localhost:4200/assets/vendor.js:95654:32)
at Object.eval (trainer/tests/unit/mixins/dictionary-manager-test.js:17:28)
at Object.Test.run (http://localhost:4200/assets/test-support.js:2632:18)
at http://localhost:4200/assets/test-support.js:2719:10
at process (http://localhost:4200/assets/test-support.js:2435:24)
Każda pomoc będzie mile widziana.
Robię to samo, ale używając mixina jako jednostki do testowania zamiast testowania modelu. Jeśli używasz ember-cli, kiedy generujesz mixin, tworzy test dla ciebie – leojh