low*_*cks 0 parameterized mockito junit5
在尝试使用 JUnit 5 的参数化功能时,我偶然发现了一个初始化错误。
@ExtendWith(MockitoExtension.class)
@RunWith(Parameterized.class)
public class ServiceTest {
@InjectMocks
Service service;
private static Stream<Arguments> getArguments() {
return Stream.of(
Arguments.of("something", "result1", "result2"),
Arguments.of("another", "result3", "result4")
);
}
@ParameterizedTest
@MethodSource("getArguments")
@DisplayName("Test parseEndpoint method")
void testMethod(String arg1, String result1, String result2) {
final String[] strings = service.doSomething(arg1);
assertEquals(result1, strings[0]);
assertEquals(result2, strings[1]);
}
}
Run Code Online (Sandbox Code Playgroud)
然后我可以看到我的测试正在由参数化引擎和 JUnit Vintage 单元运行。这里的问题是如何禁用这样的类只由 Parameterized.class 运行?!
您在同一个类中混合使用 JUnit 4 和 5。
删除@RunWith(Parameterized.class),你不需要它。删除来自 junit 4 包的所有其他代码(如果有)。
在那之后你的测试就可以了。
| 归档时间: |
|
| 查看次数: |
2616 次 |
| 最近记录: |