我已经使用qunit为我的JavaScript代码编写了一系列测试。由于某种原因,我的列表中的第一个测试会运行,然后列表中的最后一个测试运行,然后是第二个测试,第三个测试,最后一个测试,第四个测试等等。这对我的测试非常重要按照我所拥有的顺序运行。我尝试关闭该选项,qunit首次运行上次失败的测试,但它仍在执行此操作。有没有什么办法解决这一问题?让QUnit按顺序运行测试
8
A
回答
11
首先,弄清楚为什么你的测试必须以特定的顺序运行。单元测试的重点是测试是原子性的,应该可以按照任意顺序运行它们 - 如果你的测试套件无法做到这一点,你需要弄清楚为什么它可能代表更大的问题。
如果您无法弄清楚,那么您可能需要将测试套件分成更小的测试组,直到找到导致问题的测试组为止。
编辑:找到该参考文献在http://www.educatedguesswork.org/2011/06/curse_you_qunit_1.html。显然,将它添加到你的测试套件将有助于QUnit.config.reorder = false;
0
也许你可以考虑将每个主要计算的代码放在一个函数中,该函数在开始时进行测试,检查计算是否已经完成。如果计算没有完成,则进行计算并将结果保存在某处。如果计算已经完成,那么只返回结果。通过这种方式,您可以对所有测试进行单一计算,但仍可以自动执行测试。
我可以涉及到单元测试中耗时计算的问题,但测试组必须能够进行任何单元测试并作为独立的自主测试执行。出现严重问题时尤其如此,必须特别加以解决。
相关问题
- 1. 按顺序运行robolectric测试?
- 2. 如何强制ReSharper测试运行器按顺序运行测试?
- 3. 用Jenkins和Apache Ant运行QUnit测试?
- 4. 在Casper.js中运行QUnit测试
- 5. qUnit:运行测试的子集?
- 6. Selenium junit测试 - 我如何按顺序在测试中运行测试?
- 7. 我可以让NUnit按随机顺序执行测试吗?
- 8. 如何让我的JUnit测试以随机顺序运行?
- 9. Java中的功能测试:如何让它们按顺序运行
- 10. 在nunit中按顺序执行测试
- 11. 以某种顺序运行PHPUnit测试
- 12. Selenium TestNG测试运行顺序
- 13. QUnit测试测试用例
- 14. 在xUnit.net中,是否可以按顺序运行测试?
- 15. 如何处理量角器测试,以按顺序运行
- 16. 如何按特定顺序运行robotium测试?
- 17. 在量角器中按顺序运行测试用例
- 18. 如何按字母顺序运行Maven集成测试?
- 19. 如何使JUnit测试用例按顺序运行?
- 20. 使TestNG @Factory测试用例按照提供的顺序运行
- 21. 量角器测试可以按随机顺序运行吗?
- 22. 按指定顺序运行Maven项目的JUnit测试
- 23. RSpec测试只有在按顺序运行时才能正确运行
- 24. 强制Eclipse按照Maven运行它们的顺序运行JUnit测试
- 25. ReSharper单元测试运行器是否按顺序或与MbUnit并行运行测试?
- 26. Qunit:测试泄漏
- 27. 按顺序运行AJAX
- 28. 如何让R并行:: parSapply按X的绝对顺序运行?
- 29. 在Soap UI中,按串行顺序动态运行多个测试套件
- 30. 使用QUnit进行Javascript测试
不,我知道为什么。提高效率。 (我不想进入细节,但现在每个测试都需要很长时间才能运行,我需要尽可能简化流程)。一些测试依赖于之前测试的结果。我可以让所有东西都成为原子,但所有东西都会比现有的更长。一旦我处于一个时间无关紧要的位置,我可能会回到原子模型,但现在我希望我的测试能够按照我为了提高效率而编写的顺序运行。 – user1028497 2012-03-27 06:30:05
@ user1028497“一些测试依赖于先前测试的结果”,那么你就没有原子性 - 你应该在测试本身中准备测试所需的东西。 – unludo 2012-03-27 06:56:15
我这样做是的。但在这个时候,我需要效率,这是做事的最好方式。我不想解释所有的东西,但足以说现在我需要测试来按照我所拥有的顺序运行。 – user1028497 2012-03-27 07:01:01