使用@ Parameterize.Parameters(name =“example”)

时间:2015-12-18 07:22:54

标签: java junit

这是我的代码:

@RunWith(Parameterized.class)
public class FibonacciTest {

    @Parameters(name = "{0}")
    public static Iterable<Object[]> data() {
        return Arrays.asList(new Object[][] { 
                 { 0, 0 }, { 1, 1 }, { 2, 1 }, { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 }
           });
    }

    private int input;
    private int expected;

    public FibonacciTest(int input, int expected) {
        this.input = input;
        this.expected = expected;
    }

    @Test
    public void test() {
        assertEquals(expected, Fibonacci.compute(input));
    }
}

在此示例中,@Parameterized.Parameters(name = "{0}")引用 arraylist 中的第一个参数,例如0, 1,2,3 ...

有没有办法直接在方法

中加入@Parameterized.Parameters(name = "{0}")
@Test
@Parameterized.Parameters(name = this.input)
public void test() {
    assertEquals(expected, Fibonacci.compute(input));
}

我有很多代码,它没有静态方法,但在方法本身中添加值进行测试,以避免重构整个代码如何才能完成上述工作

0 个答案:

没有答案