gpt4 book ai didi

java - 在任何 junit 测试运行之前执行一些代码

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:53:56 25 4
gpt4 key购买 nike

我有很多单元测试文件,它们基本上执行相同的@BeforeClass

他们启动 jetty 网络服务器,添加一些系统属性。

所以我想知道,是否可以在运行单元测试之前只执行一次?

最佳答案

您可以使用 @RunWith注释:

@RunWith(JettyRunner.class)
public class MyAwesomeTest {
@Test
//...
}

并实现一个新的 Runner

public class JettyRunner extends BlockJUnit4ClassRunner {
private static boolean initialized = false;

public JettyRunner(Class<?> klass) throws InitializationError {
super(klass);

synchronized (JettyRunner.class) {
if (!initialized) {
System.out.println("Let's run jetty...");
initialized = true;
}
}
}
}

我不确定是否真的需要 synchronized block ,只是把它扔进去以备不时之需...

关于java - 在任何 junit 测试运行之前执行一些代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7826824/

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