Tôi đang cố gắng để làm một thử nghiệm "nó hoạt động" cơ bản cho một Mixin đó là có nghĩa là để được sử dụng với một mô hình. Tôi giả định cách tiếp cận để kiểm tra đơn vị Mixin nên được thực hiện không phải trên Mixin chính nó nhưng một lớp mô hình chung mà Mixin này trộn lẫn.Đơn vị thử nghiệm một mô hình Mixin
Giả sử giả định đầu tiên/chiến lược này có ý nghĩa thì đây là những gì tôi đã thử làm:
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);
});
này không hoạt động, đưa ra các lỗi sau:
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)
Bất kỳ trợ giúp sẽ được đánh giá rất nhiều.
Tôi đang làm tương tự nhưng sử dụng mixin làm đơn vị để kiểm tra thay vì thử nghiệm mô hình. Nếu bạn sử dụng ember-cli, khi bạn 'tạo ra mixin' nó tạo ra các thử nghiệm cho bạn – leojh