2013-04-17 123 views
0

我想編寫的工作測試如下:QUnit鏈異步測試

  • 這個測試完成後啓動異步測試
  • ,開始下一個異步測試
  • 做任意數量的測試

設置QUnit.config.reorderfalse不會阻止在前一個測試完成之前啓動測試。

asyncTest('test1',function(){}); // all tests are started back on back 
asyncTest('test2',function(){}); // but I would like to start them 
asyncTest('test3',function(){}); // one after the other 

我知道測試應該是原子,但在這種情況下,這將導致一個巨大的考驗,這本身就可能成爲容易出錯,所以我想它分裂。

現在我正在將每個測試打包到一個包裝函數中,並在一次測試完成後調用這個函數,但是這在某種程度上很尷尬,並且想知道這種最佳實踐是什麼樣的。

乾杯!

+0

對此沒有答案,但很想看看你的實現。 qunit源碼雖然是開放的,所以也許你可以提交一個補丁。 – jakerella

+0

嗯,我遇到這個問題是因爲我的腳本引入了全局的「私人」變量,所以每個測試都開始影響下一個的結果。鏈接測試可以預測它們的值,但測試不會再是原子了。我發現了一個解決方案來重置這些全局變量,在每次測試之前重新加載整個腳本,因此我使用了Qunit.testStart()方法。所以現在我在每個測試中都有原子測試和新近初始化的變量。 – philipp

回答

0

我發現了一個解決方案來重置這些全局變量,在每次測試之前重新加載整個腳本,因此我使用了Qunit.testStart()方法。所以現在我在每個測試中都有原子測試和新初始化的變量