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