序
junit4的Parameterized tests的使用方法太过费劲了,这里介绍下如何使用JUnitParams来简化Parameterized tests。
junit4原生的Parameterized tests实例
@RunWith(Parameterized.class)public class FibonacciTest { @Parameters public static Collection
JUnitParams的使用
maven
pl.pragmatists JUnitParams 1.1.0 test
实例
@RunWith(JUnitParamsRunner.class)public class PersonTest { @Test @Parameters({"17, false", "22, true" }) public void personIsAdult(int age, boolean valid) throws Exception { assertThat(new Person(age).isAdult(), is(valid)); } }
junit5的更新
当然junit5也对Parameterized tests的使用进行简化,如下:
@ParameterizedTest@EnumSource(value = TimeUnit.class, names = { "DAYS", "HOURS" })void testWithEnumSourceInclude(TimeUnit timeUnit) { assertTrue(EnumSet.of(TimeUnit.DAYS, TimeUnit.HOURS).contains(timeUnit));}
小结
如果还是使用junit5之前的版本,那么可以尝试使用JUnitParams来简化Parameterized tests。如果你已经使用junit5,那么恭喜你,可以不用额外引入JUnitParams就可以方便地进行Parameterized tests。