如果我改变了我的Ember / Qunit测试的顺序,他们会通过。为什么这样,或者我能做些什么来避免它呢?
编辑:我注意到Qunit测试以或多或少的随机顺序运行(先准备好哪个?),无论如何,当TEST B跟随TEST 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");
});
});
我在网上有两个版本的测试。
这是使用具有一堆模型的夹具适配器(可能不是所有正确的关系,但我仍然期望测试在任何顺序都是一致的)
答案 0 :(得分:2)
App.reset()
重置ember应用程序本身,它不会重置Ember Model / Data。
您需要将unloadAll
用于Ember数据:
this.store.unloadAll('post');
对于Ember Model,您将使用clearCache
:
App.Post.clearCache();
在测试A上运行ok之前,您是否尝试过允许访问解决?
test("TEST A", function() {
visit("/workspaces").then( function(){
ok(true);
});
});