У меня есть тест компонента, который не работает, потому что он не может найти частичное отображение шаблона. Конкретная ошибка: «Ошибка утверждения: невозможно найти часть с именем« компоненты / список действий-элемент-контент »».
Мой тестовый файл в основном сгенерирован ember-cli по умолчанию:
import {
moduleForComponent,
test
} from 'ember-qunit';
moduleForComponent('activity-list-item', 'ActivityListComponent', {
// specify the other units that are required for this test
needs: ['helper:format-date']
});
test('it renders', function() {
expect(2);
// creates the component instance
var component = this.subject();
equal(component._state, 'preRender');
// appends the component to the page
this.append();
equal(component._state, 'inDOM');
});
и шаблон компонента, который выглядит так:
{{#if activity.momentId}}
{{#link-to 'moment' momentId class='close-dropdown'}}
{{partial 'components/activity-list-item-content'}}
{{/link-to}}
{{else}}
{{partial 'components/activity-list-item-content'}}
{{/if}}
Мое приложение работает нормально без каких-либо ошибок, поэтому мне интересно, чего не хватает в моей тестовой настройке. Я также попытался добавить его в массив needs
и получил ту же ошибку:
needs: ['helper:format-date', 'template:components/-activity-list-item-content']
Как мне заставить свои тесты найти партиал?
Обновить
@GJK указал, что частичное имя должно начинаться с подчеркивания вместо тире. Если я внесу это изменение, тест будет пройден, однако я получу предупреждение об устаревании в консоли, в котором говорится:
УСТАРЕВАНИЕ: Модули не должны содержать символы подчеркивания. Попытка поиска «myapp-ember/templates/components/-activity-list-item-content», которая не была найдена. Вместо этого переименуйте «myapp-ember/templates/components/_activity-list-item-content» в «myapp-ember/templates/components/-activity-list-item-content».