Как получить название текущего тестового примера 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 ответа

Решение

Это не доступно прямо сейчас. Есть открытый вопрос, чтобы сделать это так

https://github.com/lihaoyi/utest/issues/71

import utest._
...
val name = implicitly[utest.framework.TestPath].value
Другие вопросы по тегам