如何使用多个参数测试多个类(一个接口)?

时间:2013-12-05 17:22:02

标签: java unit-testing tdd junit4

我有多个实现一个接口的类,我想用多个测试用例测试他们的方法。

这是我的测试方法,只测试一个具有多个参数的类。如何将它与多个类和多个参数一起使用?

@RunWith(value = Parameterized.class)
public class CoinFactory_getCoin {
    private final int in;
    private final int out;

    public CoinFactory_getCoin(final int in, final int out) {
        this.in = in;
        this.out = out;
    }

    @Parameters
    public static Collection<Object[]> data() {
        final Object[][] data = new Object[][] { { 1, 0 }, { 2, 1 },
                { 5, 2 }, { 10, 5 },
                { 20, 10 },
                { 50, 20 }, { 100, 50 }, { 200, 100 } };
        return Arrays.asList(data);
    }

    @Test
    public void test_normal_parameters() {

        // given
        final CoinFactory factory = new CoinFactory();

        // when
        final int nextCoin = factory.getNextCoin(in);

        // then
        Assertions.assertThat(nextCoin).isEqualTo(out);
    }
}

0 个答案:

没有答案