让QUnit按顺序运行测试

时间:2012-03-27 06:23:46

标签: javascript testing qunit

我已经使用qunit为我的javascript代码编写了一系列测试。现在由于某种原因,我的列表中的第一个测试将运行,然后列表中的最后一个测试运行,然后是第二个到最后一个,第三个到最后一个,第四个到最后一个等等...这对我的测试至关重要事情按照我让他们进入的顺序运行。我尝试关闭该选项,其中qunit运行上次失败的测试,但它仍然这样做。有什么方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:11)

首先,弄清楚为什么你的测试必须以特定的顺序运行。单元测试的重点是测试是原子的,应该可以按任何顺序运行它们 - 如果你的测试套件不具备这个功能,你需要找出原因,因为它可能代表一个更大的问题。 / p>

如果您无法弄清楚,那么您可能需要将测试套件分成更小的测试组,直到找到导致问题的测试套件为止。

编辑:在http://www.educatedguesswork.org/2011/06/curse_you_qunit_1.html找到此引用。显然,将其添加到您的测试套件将有助于QUnit.config.reorder = false;

答案 1 :(得分:0)

也许你可以考虑将每个主要计算的代码放在一个开头有一个测试的函数中,检查计算是否已经完成。如果未完成计算,请执行计算并将结果保存在某处。如果计算已经完成,那么只返回结果。通过这种方式,您可以对所有测试进行单次计算,但仍然可以自行完成测试的顺序。

我可以解决单元测试中耗时计算的问题,但测试组必须能够进行任何单元测试并作为独立的自主测试执行。当一个关键问题出现并且必须专门解决时,尤其如此。