1

如何获取当前运行的 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 并行运行。

4

2 回答 2

1
import utest._
...
val name = implicitly[utest.framework.TestPath].value
于 2018-04-23T16:42:04.087 回答
0

它现在不可用。有一个悬而未决的问题

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

于 2016-01-27T17:03:29.640 回答