为什么80%的码农都做不了架构师?>>>   

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

junit4原生的Parameterized tests实例

@RunWith(Parameterized.class)
public class FibonacciTest {@Parameterspublic static Collection<Object[]> 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;}@Testpublic void test() {assertEquals(fExpected, Fibonacci.compute(fInput));}
}

JUnitParams的使用

maven

<dependency><groupId>pl.pragmatists</groupId><artifactId>JUnitParams</artifactId><version>1.1.0</version><scope>test</scope>
</dependency>

实例

@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

  • parameterized-tests
  • JUnitParams
  • writing-tests-parameterized-tests

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

使用JUnitParams简化Parameterized tests相关推荐

  1. JUnit5学习之七:参数化测试(Parameterized Tests)进阶

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于<JUnit5学习>系列 <JU ...

  2. Junit5中的参数化测试(Parameterized Tests)指南

    作为新一代的测试框架,Junit5中有很多大家喜欢的测试方案,个人认为最突出的就是能够进行参数化的测试(Parameterized Tests). 简介 通常,会遇到这样的情况,同一个测试案例,改变的 ...

  3. JUnit5学习之六:参数化测试(Parameterized Tests)基础

    | :-- | :-- | :-- | | 项目主页 | https://github.com/zq2599/blog_demos | 该项目在GitHub上的主页 | | git仓库地址(https ...

  4. java参数化测试除法_TestNG - 参数化测试( Parameterized Test)

    TestNG - 参数化测试( Parameterized Test) TestNG中另一个有趣的功能是parametric testing . 在大多数情况下,您会遇到业务逻辑需要大量不同测试的情况 ...

  5. 必学Java类库/常用Java类库大全(awesome-java)

    完整资源地址:http://www.21doc.net/java/awesomejava 对象映射 简化对象映射的框架. Dozer - 使用注释,API或XML配置将数据从一个对象复制到另一个对象的 ...

  6. Spring Boot 2 学习笔记(2 / 2)

    Spring Boot 2 学习笔记(1 / 2) - - - 45.web实验-抽取公共页面 46.web实验-遍历数据与页面bug修改 47.视图解析-[源码分析]-视图解析器与视图 48.拦截器 ...

  7. [转]awsome-java

    原文链接 Awesome Java A curated list of awesome Java frameworks, libraries and software. Contents Projec ...

  8. springboot的学习(2)

    转载于:(2条消息) Spring Boot 2 学习笔记(2 / 2)_KISS-CSDN博客 Spring Boot 2 学习笔记(1 / 2) - - - 45.web实验-抽取公共页面 46. ...

  9. SpringBoot2源码学习笔记 续

    45.web实验-抽取公共页面 官方文档 - Template Layout 公共页面/templates/common.html <!DOCTYPE html> <html lan ...

最新文章

  1. Visual SourceSafe简明培训教程
  2. java利用kafka生产消费消息
  3. Java中的ExceptionInInitializerError异常及解决方法
  4. DatabaseMetaData.getIndexInfo
  5. 安卓学习-界面-View的自定义
  6. 键盘keydown值表
  7. 编译原理:利用yacc/bison进行语法分析
  8. python 广告分析算法_[Python]研究广告渠道的特征数据与结果数据的相关性, 并对渠道作出评分模型...
  9. Sublime Text 3安装与使用
  10. 黑马程序员,黑马论坛---云2期,已就业45人,平均薪水6806【8月23日更新】
  11. stm32之I2C编程前期准备
  12. Win10 触摸屏 快捷键操作
  13. Hive之——Hive2.0函数大全
  14. 4个基本不等式的公式高中_高中数学基本不等式知识点
  15. 网站SEO诊断的六个方面
  16. Poly-YOLO 学习
  17. linux 基础常用命令集
  18. 各种压缩算法的压缩效率,时间、压缩比等比较
  19. SVG滤镜+阴影+渐变--学习笔记
  20. spring.profiles.active 配置未生效

热门文章

  1. 什么 Leader 值得追随?
  2. WebStorm 和 VsCode 的结合体来了!
  3. 35 点击全图后发现地图“不见了”
  4. Lucene学习总结之三:Lucene的索引文件格式(2)
  5. Java四种线程池的使用
  6. 转载 maven 详解 http://www.cnblogs.com/binyue/p/4729134.html
  7. goaccess_nginx日志分析工具
  8. 推翻自己和过往,重学自定义View
  9. webpack开发Vue配置
  10. 《黑书》hdu1271递推习题:整数对