我有很多基本执行相同的单元测试文件@BeforeClass.
他们启动jetty web服务器,添加一些系统属性.
所以我想知道,在单元测试运行之前,是否有可能只执行一次?
Mat*_*att 10
您可以使用@RunWith注释:
@RunWith(JettyRunner.class)
public class MyAwesomeTest {
@Test
//...
}
Run Code Online (Sandbox Code Playgroud)
并实施一个新的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;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定是否真的需要同步块,只是把它扔进去了...