gpt4 book ai didi

spock - 如何获取当前在Spock中运行的测试的名称?

转载 作者:行者123 更新时间:2023-12-03 20:11:14 26 4
gpt4 key购买 nike

在JUnit 3中,我可以这样获得当前正在运行的测试的名称:

public class MyTest extends TestCase {
public void testSomething() {
assertThat(getName(), is("testSomething"));
}
}


我该如何在Spock中做到这一点?我想将测试名称用作共享资源中的键,以便测试不会相互干扰。

最佳答案

一种解决方案是利用JUnit的TestName规则:

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"
}
}


这需要JUnit 4.7或更高版本。

关于spock - 如何获取当前在Spock中运行的测试的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8365491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com