4

Ember/Qunit テストの順序を変更すると、合格します。それはなぜですか、またはそれを回避するにはどうすればよいですか?

編集: Qunit テストは多かれ少なかれランダムな順序で実行されることに気付きました (最初に準備ができている方はどちらですか?)、関係なく、テスト B がテスト A に続く場合、失敗しています。

App.reset() が完全にリセットされていないか、私が見ていない非同期の問題があるようです。

スペック

module("Integration Tests", {
  setup: function() {
    console.log('reset');
    Encompass.reset();
  }
});

test("TEST A", function() {
  visit("/workspaces").then(function() {
    ok(true);
  });
});

test("TEST B", function() {
  visit('/workspaces/1/submissions/1').then(function() {
    ok(find('li[title="Kyle Folder 1"]').length, "the folder is there");
  });
});

私は両方のバージョンのテストをオンラインで持っています。

これは、一連のモデルでフィクスチャ アダプターを使用しています (おそらくすべての正しいリレーションではありませんが、順序に関係なくテストが一貫していることを期待しています)。

4

1 に答える 1

2

App.reset()Ember アプリケーション自体はリセットされますが、Ember モデル/データはリセットされません。

unloadAllEmber Dataに使用する必要があります。

this.store.unloadAll('post');

Ember モデルの場合、次を使用しますclearCache

App.Post.clearCache();

テスト A で OK を実行する前に、訪問を解決できるようにしてみましたか?

test("TEST A", function() {
  visit("/workspaces").then( function(){
    ok(true);
  });
});
于 2013-11-08T05:28:26.100 に答える