Ember.js &引用;试图注册未知工厂“;模型试验
我在ember cli应用程序中有以下型号:Ember.js &引用;试图注册未知工厂“;模型试验,ember.js,ember-data,ember-cli,ember-qunit,Ember.js,Ember Data,Ember Cli,Ember Qunit,我在ember cli应用程序中有以下型号: var PuzzleRound = DS.Model.extend({ year: DS.attr('number') }); var Puzzle = DS.Model.extend({ puzzleRounds: DS.hasMany('puzzleRound', {async: true}) }); 下面是我在tests/unit/models/puzzle test.js中的测试: import { moduleF
var PuzzleRound = DS.Model.extend({
year: DS.attr('number')
});
var Puzzle = DS.Model.extend({
puzzleRounds: DS.hasMany('puzzleRound', {async: true})
});
下面是我在tests/unit/models/puzzle test.js
中的测试:
import {
moduleForModel,
test
} from 'ember-qunit';
import PuzzleRound from 'weather-roulette/models/puzzle-round';
moduleForModel('puzzle', 'Puzzle', {
// Specify the other units that are required for this test.
needs: ['model:puzzleRound']
});
test('it exists', function() {
var model = this.subject();
// var store = this.store();
ok(!!model);
});
我在运行余烬测试时遇到此错误:
Attempting to register an unknown factory: `model:puzzleRound`
我使用的是ember cli 0.1.1、ember.js 1.7.0、ember Data 1.0.0-beta.11。有人有什么我可以尝试修复的吗?我刚刚用ember cli 0.0.44尝试了这段代码,得到了与您相同的错误 我将
puzzround
模型路径的两个引用重命名为puzzround
,然后您的测试通过了。因此:
DS.Model.extend({
puzzleRounds: DS.hasMany('puzzle-round', {async: true})
});
及
我知道连字符样式比camelCase样式更受欢迎,但我不确定这是什么时候强制的。此要求可能特定于ember cli或ember qunit。我一直在寻找类似于此的解决方案,但没有看到任何关于我的解决方案的提及,因此我想无论如何我都会在这里发布。其实很简单:确保你引用的控制器确实在那里
// my-ember-application/tests/unit/controllers/index/bar-test.js
moduleFor('controller:index/bar', 'My Bar Test', {
beforeEach() { .. }
});
test('it exists', function (assert) {
assert.ok(true);
});
此代码将引用此位置的控制器:
myember应用程序/app/controllers/index/bar.js
// my-ember-application/tests/unit/controllers/index/bar-test.js
moduleFor('controller:index/bar', 'My Bar Test', {
beforeEach() { .. }
});
test('it exists', function (assert) {
assert.ok(true);
});