如何获取当前运行的 uTest 测试用例的名称?
在测试用例中,我通常使用 println(...) 或 log.debug(...) 来打印和检查各种值。在测试用例的开头,我打印测试用例的名称。
我总是可以这样做:
object MyTests extends TestSuite
def tests = TestSuite {
"MyTest01" - {
println("MyTest01 starting ***************************************************")
val x = Thing.doComplexCalc
println("x = " + x )
val y = AnotherThing.doSomethingMore( x )
println("y = " + y )
assert(y=="mysterious output")
}
}
}
在这个(极其简化的)示例中,重复了“MyTest01”。我正在寻找的是一种删除重复的方法,例如:
object MyTests extends TestSuite
def tests = TestSuite {
"MyTest01" - {
println(getTest().name + " starting ***************************************************")
val x = Thing.doComplexCalc
println("x = " + x )
val y = AnotherThing.doSomethingMore( x )
println("y = " + y )
assert(y=="mysterious output")
}
}
}
测试名称可从 tests.toSeq().name 获得,但如何知道正在运行什么案例,特别是如果它们使用 sbt 并行运行。