EmberJS 没有找到模型,但它在那里

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'定义的绿色:needsmoduleForModel

// 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)