2016-01-27 103 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

每當下一個版本發生時可能會發生。 –

相關問題