Как получить название текущего тестового примера scalajs / uTest
Как я могу получить название текущего тестового примера 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.
2 ответа
Решение
Это не доступно прямо сейчас. Есть открытый вопрос, чтобы сделать это так
import utest._
...
val name = implicitly[utest.framework.TestPath].value