2019独角兽企业重金招聘Python工程师标准>>>

参数化测试用于当需要使用多组不同的测试数据测试同一个方法的时候。

使用参数化测试的要点:

① 为该测试方法专门生成一个新的类;

② 指定类的Runner为org.junit.runners.Parameterized类;

③ 声明几个变量,用于存放测试数据和预期结果;

④ 定义一个用于准备数据的公共静态方法,该方法使用org.junit.runners.Parameterized.Parameters标注进行修饰,在方法中定义一个java.util.Collection存放测试数据和预期结果,并将该Collection作为返回值;

⑤ 创建一个带参的构造函数,并在其中对③中的变量赋值;

⑥ 编写测试方法,使用③中的变量进行测试。

参数化测试的执行流程:prepareData() → MaxTest(arg1, arg2, expected) → testMax()

import static org.junit.Assert.*;import java.util.Arrays;
import java.util.Collection;import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;@RunWith(Parameterized.class)
public class MaxTest {private double arg1 = 0;private double arg2 = 0;private double expected = 0;public MaxTest(double arg1, double arg2, double expected) {this.arg1 = arg1;this.arg2 = arg2;this.expected = expected;}@Parameterspublic static Collection<Object[]> prepareData() {Object[][] objects = {{1, 2, 2}, {2, 1, 2}, {1, 1, 1}};return Arrays.asList(objects);}@Testpublic void testMax() {double result = Math.max(arg1, arg2);assertEquals(expected, result, 0);}
} 

转载于:https://my.oschina.net/zhengyuekai/blog/44986

软件测试——JUnit中的参数化测试相关推荐

  1. JUnit:在参数化测试中命名单个测试用例

    几年前,我写了有关JUnit参数化测试的文章 . 我不喜欢它们的一件事是JUnit使用数字命名了单个测试用例,因此,如果它们失败,您将不知道是哪个测试参数导致了失败. 以下Eclipse屏幕快照将向您 ...

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

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

  3. Junit中的异常测试

    Junit中的异常测试 参考文章: (1)Junit中的异常测试 (2)https://www.cnblogs.com/pengshuangbao/p/6366478.html 备忘一下.

  4. 浅谈Junit4和TestNG中的参数化测试

    最近在看Junit4的相关知识,由于本身做的是自动化方面的测试,所以工作上着重于应用TestNG.恰好遇到了一个将case进行参数化的需求,故在此记录Junit4和TestNG在参数化方面的区别. 一 ...

  5. JUnit中的参数化测试运行器

    我们都有书面的单元测试,其中在一个测试中针对不同的可能的输入输出组合进行测试. 让我们以一个简单的斐波那契数列为例来看看它是如何完成的. 以下代码针对提到的元素数量计算斐波那契数列: import j ...

  6. JUnit4学习笔记(二):参数化测试与假定(Assumption)

    一.一个简单的测试 编写一个只有一种运算的计算器: 1 public class Calculator { 2 public static double divide(int dividend, in ...

  7. junit 参数化测试用例_JUnit:在参数化测试中命名单个测试用例

    junit 参数化测试用例 几年前,我写了有关JUnit参数化测试的文章 . 我不喜欢它们的一件事是JUnit使用数字命名了单个测试用例,因此,如果它们失败,您将不知道是哪个测试参数导致了失败. 以下 ...

  8. 单元测试之JUnit 5 参数化测试使用手册

    1. 概要 junit5是下一代JUnit测试框架,新增了很多特性帮助开发人员更好得编写测试用例.其中一大特性就是参数化测试,其目的就是让我们可以使用不同的参数多次执行一个测试方法,从而覆盖不同的条件 ...

  9. 参数化测试 junit_使用JUnit 5进行更清洁的参数化测试

    参数化测试 junit 参数化单元测试的总体思路是对不同的数据运行相同的测试方法. 在JUnit 4中创建参数化测试远非完美. 现有体系结构存在许多问题:将参数定义为类字段,并需要使用构造函数来创建它 ...

最新文章

  1. 第一家线下场景大数据平台Anchor-Point诞生
  2. C# Winform 通过FlowLayoutPanel及自定义的编辑控件,实现快速构建C/S版的编辑表单页面...
  3. linux 虚拟机不能启动不了系统,虚拟机更改linux初始启动5,出现无法启动现象
  4. gorm物理删除:unscoped用法
  5. 使用Java编写简单的老虎机游戏
  6. linux vim 执行shell命令行,Linux中vim和shell
  7. 【Head First Java 读书笔记】(一)基本概念
  8. python学习之最常用的内置函数
  9. CVPR2019| 最新CVPR2019论文抢先看!
  10. php中的break语句格式,PHP中break语句的应用
  11. ()IT 职场经验)一位10年Java工作经验的架构师的经验分享,感觉很受用。
  12. 蓝桥杯 基础练习 高精度加法
  13. flutter初体验之基础控件知识
  14. 华为光猫虚拟服务器怎么设置,华为路由器连接光猫怎么设置
  15. 软件开发人员 梦想最大的阻碍:毒、赌、黄
  16. 云南提供云南IP的公司有哪些
  17. linux俄罗斯方块源程序,《俄罗斯方块游戏》项目实作【附源码】
  18. 【人工智能】人工智能的概况(绪论)
  19. 【MobaXterm教程】【公网】利用ipv6远程访问服务器
  20. 用matlab水和水蒸汽热力性质,新的水和水蒸汽热力性质国际标准IAPWS—IF97及计算软件...

热门文章

  1. 语音识别:时间序列的Smith–Waterman对齐算法
  2. CSS学习18之小试牛刀
  3. python语法错误常见原因_python3中open()的语法错误,不知道原因
  4. python随机生成中文字符串_用Python生成随机UTF-8字符串
  5. 面试c语言考题,c语言面试最必考的十道试题,求职必看!!!
  6. READING NOTE: R-FCN: Object Detection via Region-based Fully Convolutional Networks
  7. 《漫画算法》源码整理-5 排序算法
  8. JavaScript中数组使用总结
  9. 图解JVM垃圾回收算法
  10. 《卓有成效的程序员》读书笔记