Mirage を使用して、Ember でいくつかの基本的な受け入れテストを実行しようとしています。この時点では、足を見つけるためだけに、テスト環境を設定するためにフィクスチャのみを使用しています。テスト環境で ember を実行すると (つまり、-e test を使用して)、アプリに期待されるデータが取り込まれていることがわかります。そして、DOMにはいくつかのボタンなどがあります。すべて問題ありません。
ただし、ページにアクセスしてボタンをクリックするテストを実行すると、テストでボタンが見つからないことがわかります。つまり、-e test を実行して localhost を確認すると、アプリが問題ないように見えます。しかし、localhost/tests をチェックすると、-e テスト画面に確実にあるボタンが見つからないというテストが失敗します。
ボタンが -e テスト環境に存在することを確認しました。インスペクターを使用し、コンソール ラインで基本的な jquery select を発行するだけです。
それで、セットアップまたは構成のどこかに問題があると思いますか?
特に:
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 にアクセスするだけ) はパスします。2 番目のテストでは、ボタンが見つからないと表示されます。繰り返しますが、-e test を実行し、コンソールに $('.top-row-orders-button') と入力すると、問題のボタンが返されます。
誰かが必要とする情報をさらに提供していただければ幸いです。助けていただければ幸いです。私は運がないので、数日間これに頭をぶつけてきました。
追加するために編集:
より一般的には、Mirage を使用する場合、DOM が /tests 環境内にあるもの (つまり、実際のテストが実行されている DOM) を確認する方法はありますか? つまり、DOM は各 Mirage テストに対してどのように見えるのでしょうか?