按顺序执行测试

nsc4cvqm  于 2021-07-14  发布在  Java
关注(0)|答案(1)|浏览(303)

我们正在运行“sbt测试”来对多个项目执行测试。但是我们现在有一些测试需要按照特定的顺序执行。所以首先所有的测试 @attributeX 在所有这些测试完成之后,我们要执行每个不包含属性的测试 @attributeX .

sbt testOnly -- -n attributeX
sbt testOnly -- -l attributeX

这个实现工作得很好,但是我们的问题是测试报告。当第一次运行完成时,我们有这些测试的测试报告,但是当第二次运行完成时,xml文件都会再次生成,这会删除第一次运行的结果。
有没有一种简单的方法来配置 build.sbt 我们希望按特定顺序运行测试组(因此我们仍然希望并行运行测试,但只在组内运行)。或者,在分别执行这些命令时,我们可以将两个测试结果合并为一个吗?

siotufzp

siotufzp1#

您可以按套房级别订购,例如:

@DoNotDiscover
class MyTest1 extends AnyFlatSpec ...

@DoNotDiscover
class MyTest2 extends AnyFlatSpec ...

然后:

import org.scalatest.Sequential

class SequentialSuite extends Sequential(
   new MyTest1,
   new MyTest2
)

现在当你跑的时候 sbt test 它将首先在中执行测试 MyTest1 ,然后在 MyTest2 .
这和你的标签无关。
这有点道理,因为标签通常是快/慢/使用db。
它们通常仅用于本地/环境相关等。

相关问题