0

我的 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 内部问题。

我实际上正在使用v2.3.0-beta.2Ember CLI。当您启动它时,出于某种原因,它会在终端上显示 v0.2.3。

Ember 版本是 2.0。

我对触发这个的模型进行了单元测试。测试使用moduleFor而不是moduleForModel因为我的应用程序不使用 Ember Data。

4

1 回答 1

1

我实际上使用的是 Ember CLI 的 v2.3.0-beta.2。当您启动它时,出于某种原因,它会在终端上显示 v0.2.3。

发生这种情况是因为您全局安装的 Ember CLI 与项目的package.json.

如果检查命令是否在 Ember 项目中,Ember CLI 会做什么。它通过检查package.json当前目录或父目录中的文件来做到这一点。如果找到它,它会将命令委托给您的项目所依赖的 Ember CLI。

这样做是为了确保调用的命令(生成、构建等)是正确的版本并且不会破坏您的应用程序。

于 2016-05-03T07:55:40.567 回答