博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用JUnitParams简化Parameterized tests
阅读量:5951 次
发布时间:2019-06-19

本文共 1483 字,大约阅读时间需要 4 分钟。

  hot3.png

junit4的Parameterized tests的使用方法太过费劲了,这里介绍下如何使用JUnitParams来简化Parameterized tests。

junit4原生的Parameterized tests实例

@RunWith(Parameterized.class)public class FibonacciTest {    @Parameters    public static Collection
data() { return Arrays.asList(new Object[][] { { 0, 0 }, { 1, 1 }, { 2, 1 }, { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } }); } private int fInput; private int fExpected; public FibonacciTest(int input, int expected) { fInput= input; fExpected= expected; } @Test public void test() { assertEquals(fExpected, Fibonacci.compute(fInput)); }}

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。

doc

转载于:https://my.oschina.net/go4it/blog/1488501

你可能感兴趣的文章
Android Target unknown and state offline
查看>>
润乾报表使用EXCEL数据源的方法及改进
查看>>
java并发编程基础
查看>>
我的DOS命令路径定义错了
查看>>
应用SELinux中的目标策略限制进程运行
查看>>
html5页面点击和左右滑动页面滚动
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
TCP/IP三次握手详细过程
查看>>
sed单行处理命令奇偶行输出
查看>>
走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库的访问性能
查看>>
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
CentOS7 64位小型操作系统的安装
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>
网址收藏
查看>>
2013 Linux领域年终盘点
查看>>