余烬错误:断言失败:全名必须是正确的全名



我在使用 Ember 运行测试时收到以下错误.js:

承诺在"..."之前被拒绝:断言失败:全名必须是 专有全名

此错误的含义是什么?

如果您使用的是新的嵌套子文件夹尖括号语法,也可能会遇到此错误:<Foo::Bar />

确保您拥有最新版本的 ember-angle-bracket-invocation-polyfill,至少为 1.3.0

原因

如果moduleForComponent用于单元测试并且第一个参数(组件的名称(以前缀开头component:则会引发此错误。

如何解决

您应该检查作为单元测试参数编写的组件的名称。如果使用moduleForComponent,则不应使用component:前缀。但是,如果使用moduleFor,则应使用component:前缀,如以下示例所示:

moduleForComponent('my-component', 'unit: my-component', {
  //test specifications
});

moduleFor('component:my-component', 'unit: my-component', {
  //test specifications
});

这个 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;
});

在使用一个冒号而不是 2 个冒号分隔组件名称和子组件后,我遇到了同样令人困惑的错误。

<Component:SubComponent />而不是<Component::SubComponent />

相关内容

  • 没有找到相关文章

最新更新