我正在尝试为接口 Foo 编写参数化测试,该接口声明一个方法 getFooEventInt(int, int)。我编写了一个适用于 Foo 的单个实例(FooImpl 对象)的参数化测试。
public class FooTest {
@ParameterizedTest
@MethodSource("getFooEvenIntProvider")
public void getFooEvenIntTest(int seed, int expectedResult) {
Foo foo = new FooImpl();
Assertions.assertEquals(expectedResult, foo.getFooEvenInt(seed));
}
private static Stream getFooEvenIntProvider() {
return Stream.of(
Arguments.of(-2, 0),
Arguments.of(-1, 0),
Arguments.of( 0, 2),
Arguments.of( 1, 2),
);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够针对提供的 Foo 实现实例列表调用 getFooEvenIntTest(int, int) ,然后每次迭代都使用提供的种子/预期结果值列表。
我意识到我可以这样做...
public class FooTest {
@ParameterizedTest
@MethodSource("getFooProvider")
public void getFooImplEvenIntTest(Foo foo) {
int[] expectedResult = { 0, 0, 2, 2 };
int[] seed = { …Run Code Online (Sandbox Code Playgroud)