#ember.js #integration-testing
#ember.js #интеграция-тестирование
Вопрос:
Мне нужно выполнить интеграционные тесты для моего приложения Ember, например, в пользовательском шаблоне :
<div class="container">
<h1>{{model.firstName}} {{model.lastName}}</h1>
<p>Age: {{model.age}} years old</p>
<p>Job: {{model.job}}</p>
<img src="{{model.image}}" alt="img" id="image">
</div>
Я должен проверить, правильно ли отображается список пользователей. Возможно ли это сделать?
Я никогда этого не делал, и я здесь немного потерялся. Будет ли это что-то вроде :
test('it renders all users', function(assert) {
this.set('users', [
{ firstName: 'Tubby'},
{ firstName: 'Spot'},
{ firstName: 'Chester'},
{ firstName: 'Frisky'}
]);
this.render(hbs`{{user users=users}}`);
assert.equal(this.$('.user').length, 4);
});
Несмотря на то, что я прочитал много статей об интеграционных тестах, я все еще не понимаю, можно ли его использовать для чего-то, что не является компонентом.
Как насчет перенаправления? Давайте просто скажем, что я должен написать интеграционный тест, который проверяет, что перенаправление в порядке. Могу ли я сделать это с помощью интеграционных тестов?
Спасибо за вашу помощь.
Комментарии:
1. Используйте приемочный тест
Ответ №1:
Возможно, стоит сделать краткий обзор вариантов тестирования:
Модульные тесты позволяют нам тестировать небольшие фрагменты кода. Таким способом легко протестировать сервисы, сериализаторы или адаптеры.
Интеграционные тесты в первую очередь предназначены для того, чтобы вы могли тестировать компоненты и то, как они работают вместе и взаимодействуют с пользователями. Часто тестируемые вещи включают события разного рода (щелчки, нажатия клавиш и т.д.) И то, как компонент реагирует на разные типы данных.
Приемочные тесты часто используются для тестирования интегрированного всего вашего приложения (притворяясь вашим пользователем и просматривая сайт).
Часто проверки на перенаправление являются либо приемочным тестом. Вы также можете выполнять модульные тесты (если у вас сложная логика маршрута, которая обрабатывает различные сценарии перенаправления). Тестирование перенаправлений в интеграционном тесте в первую очередь сосредоточено на том, чтобы убедиться, что нажатие кнопки попытается перенаправить куда-то еще.
Помогает ли это?
Комментарии:
1. Еще бы! Если вы не возражаете принять ответ, я использую acceptances как способ найти вещи, с которыми людям все еще нужна помощь здесь…
Ответ №2:
Я надеюсь, что приведенный ниже туториал поможет вам разобраться в тестовом примере. В руководстве приведены примеры для всего тестирования (МОДУЛЬНОГО, принятия и интеграции).
https://medium.com/@srajas02/ember-test-case-for-a-crud-application-with-mirage-d6d9836bfee2
Исходный код:https://github.com/srajas0/ember-test-cases