如何在ScalaTest / SBT中依次运行Test Suites?
例如,如果我有这个测试套件A,B和C,则要确保A的测试先运行,然后是B的测试,然后是C的测试。
我可以在Scalatest或SBT中进行配置吗?
谢谢。
答案 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之类的意外行为。
我希望这会有所帮助