gpt4 book ai didi

java - 如何监听测试套件的更改以更改某些配置

转载 作者:行者123 更新时间:2023-11-30 04:46:59 26 4
gpt4 key购买 nike

我有许多 Spring Test 类(使用 @RunWith(SpringJUnit4ClassRunner) 定义),我想将它们分组到测试套件中,以便为每个套件而不是每个测试类加载一次新配置。

现在,我对每个将重新加载配置的 Spring 测试都有一个 TestExecutionListener 监听器,但我想保存它,因为许多测试共享相同的配置。

遗憾的是,Spring 既不支持监听 JUnit TestSuite,也不支持 JUnit 支持 TestSuite 的监听器概念。

最佳答案

如果您希望在 junit 测试套件之前/之后执行操作,可以使用 @BeforeClass@AfterClass ,甚至@ClassRule 。您可以在那里对整个套件进行设置。使用以下示例:

@RunWith(Suite.class)
@SuiteClasses({ ExpectedFailureTest.class, RetryTest.class })
public class BeforeClassSuite {
@BeforeClass
public static void beforeClass() {
System.out.println("beforeClass");
}

@AfterClass
public static void afterClass() {
System.out.println("afterClass");
}

@ClassRule
public static ExternalResource resource = new ExternalResource() {
@Override
protected void before() throws Throwable {
System.out.println("before");
};

@Override
protected void after() {
System.out.println("after");
};
};
}

这会产生输出:

before
beforeClass
... output from tests
afterClass
after

关于java - 如何监听测试套件的更改以更改某些配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10755736/

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