0
我想編寫的工作測試如下:QUnit鏈異步測試
- 這個測試完成後啓動異步測試
- ,開始下一個異步測試
- 做任意數量的測試
設置QUnit.config.reorder
到false
不會阻止在前一個測試完成之前啓動測試。
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
我知道測試應該是原子,但在這種情況下,這將導致一個巨大的考驗,這本身就可能成爲容易出錯,所以我想它分裂。
現在我正在將每個測試打包到一個包裝函數中,並在一次測試完成後調用這個函數,但是這在某種程度上很尷尬,並且想知道這種最佳實踐是什麼樣的。
乾杯!
對此沒有答案,但很想看看你的實現。 qunit源碼雖然是開放的,所以也許你可以提交一個補丁。 – jakerella
嗯,我遇到這個問題是因爲我的腳本引入了全局的「私人」變量,所以每個測試都開始影響下一個的結果。鏈接測試可以預測它們的值,但測試不會再是原子了。我發現了一個解決方案來重置這些全局變量,在每次測試之前重新加載整個腳本,因此我使用了Qunit.testStart()方法。所以現在我在每個測試中都有原子測試和新近初始化的變量。 – philipp