Я пытаюсь провести базовые приемочные тесты в Ember, используя Mirage. На данный момент я использую только фикстуры для заполнения тестовой среды, просто чтобы найти себя. Когда я запускаю ember в тестовой среде (т. е. с -e test), я вижу, что мое приложение заполняется ожидаемыми данными. И в DOM есть какие-то кнопки и т.д. Все хорошо.
Однако, когда я запускаю тест, чтобы посетить страницу и нажать кнопку, тест сообщает мне, что не может найти кнопку. Другими словами, запуск -e test и проверка localhost показывают, что с приложением все в порядке. Но затем проверка localhost/tests приводит к сбою теста, говорящего, что он не может найти кнопку, которая определенно есть на экране -e test.
Я подтвердил, что кнопка существует в тестовой среде -e, используя как инспектор, так и просто выполнив базовый выбор jquery в строке консоли.
Итак, я предполагаю, что что-то не так в настройках или где-то в конфигурации?
Особенно:
module('Acceptance | basic tests', {
beforeEach: function() {
this.application = startApp();
},
afterEach: function() {
Ember.run(this.application, 'destroy');
}
});
test('visiting /orders', function(assert) {
visit('/orders');
andThen(function() {
assert.equal(currentURL(), '/orders');
});
});
test('visiting /basic', function(assert) {
visit('/orders');
click('top-row-orders-button'); //button.top-row-orders-button fails too
andThen(function() {
assert.equal(currentURL(), '/orders');
});
});
Первый тест (просто посещение URL-адреса) проходит. Во втором тесте он говорит, что не может найти кнопку. И снова, когда я подаю -e test и ввожу это в консоль: $('.top-row-orders-button') он возвращает соответствующую кнопку.
С удовольствием предоставлю любую дополнительную информацию, которая может понадобиться. Был бы признателен за любую помощь. Я уже несколько дней ломаю голову над этим, но безуспешно.
Отредактировано для добавления:
В более общем смысле, при использовании Mirage есть ли способ увидеть, что такое DOM в среде /tests (т. е. DOM, в котором выполняются фактические тесты)? То есть, как выглядит DOM для каждого теста Mirage?