如何在ScalaTest / SBT中顺序运行测试套件?

时间:2019-01-15 17:26:20

标签: scala sbt scalatest

如何在ScalaTest / SBT中依次运行Test Suites?

例如,如果我有这个测试套件A,B和C,则要确保A的测试先运行,然后是B的测试,然后是C的测试。

我可以在Scalatest或SBT中进行配置吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

try using parallelExecution in Test := false

答案 1 :(得分:0)

根据文档http://doc.scalatest.org/1.7/org/scalatest/Suite.html

您需要创建自己的测试套件,如下所示:

FirstTest.scala

import org.scalatest.{DoNotDiscover, FunSuite}

@DoNotDiscover
class FirstTest extends FunSuite {

  test("first test"){
    assert(1 == 1)
  }

}

SecondTest.scala

import org.scalatest.{DoNotDiscover, FunSuite}

@DoNotDiscover
class SecondTest extends FunSuite{

  test("second test"){
    assert(2 == 2)
  }
}

MainTest.scala

import org.scalatest.Suites
class MainTest extends Suites (new FirstTest,new SecondTest)

现在,如果您运行sbt测试,则可以正常工作。

注意:属性@DoNotDiscover是必需的。这样可以避免在已经执行两个测试套件的MainSuite执行之后执行FirstTest和SecondTest之类的意外行为。

我希望这会有所帮助