How to get name of currently running test in spock?

后端 未结 2 831
[愿得一人]
[愿得一人] 2021-01-17 10:02

In JUnit 3, I could get the name of the currently running test like this:

public class MyTest extends TestCase {
    public void testSomething() {
        as         


        
相关标签:
2条回答
  • 2021-01-17 10:04

    For spock 1.0-groovy-2.4 you can try :

    def "Simple test"() {
    
        expect:
        specificationContext.currentIteration.name == "Simple test"
    }
    
    0 讨论(0)
  • 2021-01-17 10:12

    One solution is to leverage JUnit's TestName rule:

    import org.junit.Rule
    import org.junit.rules.TestName
    
    class MySpec extends Specification {
        @Rule TestName name = new TestName()
    
        def "some test"() {
            expect: name.methodName == "some test"
        }
    }
    

    This requires JUnit 4.7 or higher.

    0 讨论(0)
提交回复
热议问题