我的ember-cli版本是0.2.3。我尝试运行测试时收到以下错误。
TypeError: Attempting to register an unknown factory: `controller:object`
at Object.Registry.register (http://localhost:7357/assets/vendor.js:12208:15)
at Object.container.(anonymous function) [as register] (http://localhost:7357/assets/test-support.js:1905:44)
at Object.isolatedContainer [as default] (http://localhost:7357/assets/test-support.js:1946:15)
at exports.default.klassy.Klass.extend._setupIsolatedContainer (http://localhost:7357/assets/test-support.js:2406:52)
at exports.default.klassy.Klass.extend.setupContainer (http://localhost:7357/assets/test-support.js:2312:14)
at nextStep (http://localhost:7357/assets/test-support.js:2300:53)
at exports.default.klassy.Klass.extend.invokeSteps (http://localhost:7357/assets/test-support.js:2305:14)
at exports.default.klassy.Klass.extend.setup (http://localhost:7357/assets/test-support.js:2275:19)
at Object.qunit.module.setup (http://localhost:7357/assets/test-support.js:1814:16)
at runHook (http://localhost:7357/assets/test-support.js:3534:20)
对于可能导致此问题的任何想法?看起来像是一个ember-cli内部问题。
我实际上正在使用Ember CLI的v2.3.0-beta.2
。当你启动它时,由于某种原因它在终端上显示v0.2.3。
Ember版本是2.0。
我对触发此操作的模型进行了单元测试。该测试使用的是moduleFor
而不是moduleForModel
,因为我的应用并未使用Ember数据。
答案 0 :(得分:1)
我实际上使用的是Ember CLI的v2.3.0-beta.2。当你启动它时,由于某种原因它在终端上显示v0.2.3。
这是因为全局安装的Ember CLI与项目package.json
中指定的版本不同。
当您运行命令时Ember CLI会检查它是否在Ember项目中。它通过检查当前或父目录中的package.json
文件来完成此操作。如果找到它,它会将命令委托给您的项目所依赖的Ember CLI。
这样做是为了确保调用的命令(生成,构建等)是正确的版本,并且不会破坏您的应用程序。