我想知道,是否可以多次运行同一测试但配置不同。
例如:测试名为“ A”,使用文件“ config1.json”中的config运行,完成后,使用文件“ config2.json”中的config运行相同的测试“ A”。
我可以使用config2.json中的config编写测试B,但是我不想重复我的代码。
在JUnit中可以吗?
答案 0 :(得分:0)
如果使用的是JUnit 5,则可以使用parametrized tests:
@ParameterizedTest
@ValueSource(strings = {"config.json", "config2.json"})
public void testMyCode(final String configResource) {
// ...
}
请注意,自2018年9月19日起,参数化测试是一项实验功能。 它们确实有效,但是API可能会在将来的JUnit版本中更改。
使用JUnit 4,您需要编写一个测试方案方法,并使用与测试方法不同的参数来调用它:
@Test
public void testMyCode() {
myTestScenario("config.json");
myTestScenario("config2.json");
}
private void myTestScenario(final String configResource) {
// ...
}