【发布时间】:2012-06-30 18:53:11
【问题描述】:
我们在 ScalaTest 中使用 Spec trait 进行测试。当我们运行整个套件时,它并不总是以相同的顺序运行。谷歌中的大多数答案都建议定义一个套件并指定所有测试名称。但这需要我们在每次添加新测试时添加测试名称。
是否可以使用 DiscoverySuite 本身并定义测试执行顺序?就像按字母顺序运行测试一样。我查看了扩展 DiscoverySuite,但 DiscoverySuite 似乎对 scalatest 是私有的。
---更多信息----
我的意思是,如果有测试 A、B、C。
A 类扩展规范 {..} B 类扩展规范 {..} C 类扩展规范 {..}然后我希望测试按顺序运行(A、B、C)。但现在发生的是,它每次都以不同的顺序运行。
【问题讨论】:
-
FWIW,测试应该被定义为执行顺序无关紧要。这使得单个测试更具弹性(更改测试 A 不会破坏测试 B)、更易于理解(要理解测试 A,我只需要查看测试 A)和独立(我可以只运行我需要的测试)。
-
我理解并完全同意应该定义测试,以便顺序无关紧要。但不幸的是,这些都是功能性(Webdriver)测试,而且数量很多。因此,作为修复它们的第一步,我想让它们以相同的顺序运行,同时分析问题所在。