如何获取当前scalajs / uTest测试用例的名称

时间:2016-01-27 15:21:56

标签: scala unit-testing scala.js 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 个答案:

答案 0 :(得分:1)

G6

答案 1 :(得分:0)

目前无法使用。这是一个未解决的问题

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