ember Ошибка: утверждение не выполнено: полное имя должно быть правильным полным именем

Я получил следующую ошибку при выполнении теста с Ember.js:

Обещание отклонено перед "...": утверждение не выполнено: полное имя должно быть правильным полным именем

В чем смысл этой ошибки?

2 ответа

Решение

причина

Эта ошибка выдается, если moduleForComponent используется для модульного теста, а первый параметр (имя компонента) запускается с component: префикс.

Как решить

Вы должны проверить имя компонента, которое записано в качестве параметра для модульного теста. Если moduleForComponent используется, то component: Префикс не должен использоваться. Однако если moduleFor используется, то component: Префикс должен быть использован, как показано ниже:

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

или же

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

Этот пример демонстрирует использование обоих примеров.

Вы также можете столкнуться с этой ошибкой, если используете новый синтаксис угловой скобки вложенной вложенной папки: <Foo::Bar />

Убедитесь, что у вас установлена ​​последняя версия https://github.com/rwjblue/ember-angle-bracket-invocation-polyfill, не ниже 1.3.0.

Вы также увидите это ужасное сообщение с искаженным названием маршрута, например:

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

У меня такая же сбивающая с толку ошибка после использования одного двоеточия вместо двух для разделения имени компонента и подкомпонента.

<Component:SubComponent /> вместо того <Component::SubComponent />

Другие вопросы по тегам