试图注册一个未知的工厂:`controller:application`

时间:2014-10-16 02:39:31

标签: ember.js ember-cli ember-qunit

这是我PuzzleController的简化版:

// app/controllers/puzzle.js
export default Em.ObjectController.extend({
    needs: ['application']
});

这是我的控制器测试:

// tests/unit/controllers/puzzle-test.js
import { 
    moduleFor,
    test
} from 'ember-qunit';

moduleFor('controller:puzzle', 'PuzzleController', { 
    needs: ['controller:application']
});

test('it exists', function() { 
    var controller = this.subject();
    ok(controller);
});

运行ember test时出现此错误:

Attempting to register an unknown factory: `controller:application`

我使用的是Ember 1.7.0,ember-cli 0.1.1。似乎Ember肯定会识别controller:application选择器。我在这里使用了错误的语法吗?

1 个答案:

答案 0 :(得分:4)

我相信您需要创建应用程序控制器。

运行ember g controller application,然后重试。

我不认为余烬测试适用于自动生成的控制器。你需要定义它。