2016-01-27 127 views
1

如何获取当前运行的uTest测试用例的名称?如何获取当前scalajs/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()的名字,但怎么知道正在运行的情况下,特别是如果他们使用的SBT并行运行。

回答

1

它现在不可用。有一个开放的问题,使它如此

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

+0

这是一个好消息,它是未来。有没有机会在下一个版本中使用它? – user4955663

+0

每当下一个版本发生时可能会发生。 –

相关问题