Hug*_*ugo 5 javascript testing model ruby-on-rails ember.js
我正在编写一个 ember-cli 应用程序。我有以下模型:
// app/models/school.js
export default DS.Model.extend({
name: DS.attr('string', { defaultValue: '' })
});
Run Code Online (Sandbox Code Playgroud)
它是使用余烬生成器生成的,就像我所有其他模型一样。它还有一个功能单元测试,用于测试其名称属性的默认值。所有测试都是绿色的,直到另一个模型属于这样的学校:
// app/models/professor.js
export default DS.Model.extend({
name: DS.attr('string', { defaultValue: '' }),
email: DS.attr('string', { defaultValue: '' }),
courses: DS.hasMany('course'),
posts: DS.hasMany('post'),
school: DS.belongsTo('school')
});
Run Code Online (Sandbox Code Playgroud)
在我添加学校属性之前,此测试完全是绿色的。它甚至是在helper数组中'model:school'
定义的绿色:needs
moduleForModel
// tests/unit/models/professor-test.js
// this is green w/o belongsTo('school') in the model
moduleForModel('professor', {
// Specify the other units that are required for this test.
needs: ['model:school', 'model:post', 'model:course']
});
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Error: No model was found for 'school'
Run Code Online (Sandbox Code Playgroud)
这是模型目录
$ ls app/models/
course.js post.js professor.js school.js student.js
Run Code Online (Sandbox Code Playgroud)
为什么找不到我的模型?
yuя*_*uяi -2
您需要在测试中导入学校模型:
import '[appName]/models/school';
Run Code Online (Sandbox Code Playgroud)