我注意到SBT正在并行运行我的specs2测试.这似乎很好,除了我的一个测试涉及从文件读取和写入因此无法预测失败,例如见下文.
有没有更好的选择
class WriteAndReadSpec extends Specification{
val file = new File("testFiles/tmp.txt")
"WriteAndRead" should {
"work once" in {
new FileWriter(file, false).append("Foo").close
Source.fromFile(file).getLines().toList(0) must_== "Foo"
}
"work twice" in {
new FileWriter(file, false).append("Bar").close
Source.fromFile(file).getLines().toList(0) must_== "Bar"
}
}
trait TearDown extends After {
def after = if(file.exists) file.delete
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个扩展org.scalatest.junit.JUnitSuite的类.这堂课有几个考试.我不希望这些测试并行运行.
我知道使用Specs2是多么简单(使用Specification扩展类并在类中添加一行sequential),如下所示:如何按顺序运行规范.
我不想通过设置来改变Build文件:
parallelExecution in Test := false
我也不想使用标签按顺序运行特定的测试文件.
我想要的是确保我的类中的所有测试按顺序运行的方法.ScalaTest可以实现吗?任何样本测试/模板都表示赞赏.
一个快速的谷歌搜索指向我:http://doc.scalatest.org/2.0/index.html#org.scalatest.Sequential
对于我所进行的几项测试,我认为创建StepSuite是完全过分的.我不完全确定这是否适合我的情况!