ember Error: Assertion Failed: fullName must be a proper full name
ember Error: Assertion Failed: fullName must be a proper full name
我在 运行 使用 Ember.js 进行测试时遇到以下错误:
Promise rejected before "...": Assertion Failed: fullName must be a
proper full name
这个错误是什么意思?
原因
如果 moduleForComponent
用于单元测试并且第一个参数(组件名称)以 component:
前缀开头,则会抛出此错误。
如何解决
您应该检查作为单元测试参数写入的组件的名称。如果使用 moduleForComponent
,则不应使用 component:
前缀。但是,如果使用 moduleFor
,则应使用 component:
前缀,如下例所示:
moduleForComponent('my-component', 'unit: my-component', {
//test specifications
});
或
moduleFor('component:my-component', 'unit: my-component', {
//test specifications
});
This twiddle 演示了两个示例的用法。
您还会看到这条可怕的消息,其中包含格式错误的路由名称,例如:
Router.map(function () {
this.route('mock-test/:accountId/:companyId');
return null;
});
您将路线名称与路径段混淆了。像这样修复它:
Router.map(function () {
this.route('mock-test', {
path: 'mock-test/:accountId/:companyId',
});
return null;
});
如果您使用新的嵌套子文件夹尖括号语法,您也可能会遇到此错误:<Foo::Bar />
确保您拥有最新版本的 ember-angle-bracket-invocation-polyfill,至少是 1.3.0
在使用一个冒号而不是 2 个冒号来分隔组件名称和子组件后,我遇到了同样令人困惑的错误。
<Component:SubComponent />
而不是 <Component::SubComponent />
我在 运行 使用 Ember.js 进行测试时遇到以下错误:
Promise rejected before "...": Assertion Failed: fullName must be a proper full name
这个错误是什么意思?
原因
如果 moduleForComponent
用于单元测试并且第一个参数(组件名称)以 component:
前缀开头,则会抛出此错误。
如何解决
您应该检查作为单元测试参数写入的组件的名称。如果使用 moduleForComponent
,则不应使用 component:
前缀。但是,如果使用 moduleFor
,则应使用 component:
前缀,如下例所示:
moduleForComponent('my-component', 'unit: my-component', {
//test specifications
});
或
moduleFor('component:my-component', 'unit: my-component', {
//test specifications
});
This twiddle 演示了两个示例的用法。
您还会看到这条可怕的消息,其中包含格式错误的路由名称,例如:
Router.map(function () {
this.route('mock-test/:accountId/:companyId');
return null;
});
您将路线名称与路径段混淆了。像这样修复它:
Router.map(function () {
this.route('mock-test', {
path: 'mock-test/:accountId/:companyId',
});
return null;
});
如果您使用新的嵌套子文件夹尖括号语法,您也可能会遇到此错误:<Foo::Bar />
确保您拥有最新版本的 ember-angle-bracket-invocation-polyfill,至少是 1.3.0
在使用一个冒号而不是 2 个冒号来分隔组件名称和子组件后,我遇到了同样令人困惑的错误。
<Component:SubComponent />
而不是 <Component::SubComponent />