我正在尝试使用 Mirage 在 Ember 中进行一些基本的验收测试。我现在只使用固定装置来填充测试环境,只是为了找到我的脚。当我在测试环境中运行 ember(即,使用 -e test)时,我可以看到我的应用程序正在填充预期的数据。并且 DOM 有一些按钮等。一切都很好。
但是,当我运行测试以访问页面并单击按钮时,测试告诉我它找不到按钮。换句话说,运行 -e test 并检查 localhost 表明该应用程序似乎很好。但是然后检查 localhost/tests 有一个测试失败,说它在 -e 测试屏幕中找不到肯定存在的按钮。
我已经确认该按钮存在于 -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 时,有没有办法查看 /tests 环境中的 DOM(即运行实际测试的 DOM)?即,每个 Mirage 测试的 DOM 是什么样的?