如何在 scala 中确定测试的优先级?



我正在使用scalatest的FunSuite来运行我的测试。我想定义 2 个单独的测试类,它们有一些共同的测试,所以我创建了一个BaseTest类,我在MainTest1MainTest2中对其进行扩展,其中我定义了其他特定的测试(请参阅下面的代码片段(。我希望MainTest1MainTest2中的测试按特定顺序执行,例如测试 4、2、1 和 3。我如何实现这一点?

class BaseTest extends FunSuite with BeforeAndAfter{
test("Check Content of file){
//code to check content of a file
}
test("File is not empty"){
//code to check file is not empty
}
test("Check a particular word in file"){
//code to check particular word in file
}
}

class MainTest1 extends BaseTest{
test("Check create file"){
//code to check file creation
}
}

class MainTest2 extends BaseTest{
test("Check download file"){
//code to check file downloaded properly
}
}

您可以将测试定义为方法,并按照您认为适合子类的顺序调用它们。

trait BaseTest extends FunSuite {
protected def test1(): Unit = test("This is test 1") { ... }
protected def test2(): Unit = test("This is test 1") { ... }
}
class MainTest1 extends BaseTest {
// Arrange these is any order you see fit
test3()
test2()
test1()
protected def test3(): Unit = test("This is a test specific to MainTest1") { ... }
}
class MainTest2 extends BaseTest {
// Arrange these is any order you see fit
test2()
test3()
test1()
protected def test3(): Unit = test("This is a test specific to MainTest2") { ... }
}

最新更新