Junit 4 Tutorials(Junit 4 教程) 四、Junit4 参数化测试

2024-05-12 04:48

本文主要是介绍Junit 4 Tutorials(Junit 4 教程) 四、Junit4 参数化测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Junit 4 参数化测试 允许通过变化范围的参数值来测试方法。参数擦测试可以通过以下简单的步骤实现:
  1. 对测试类添加注解 @RunWith(Parameterized.class)
  2. 将需要使用变化范围参数值测试的参数定义为私有变量
  3. 使用上一步骤声明的私有变量作为入参,创建构造函数
  4. .创建一个使用@Parameters注解的公共静态方法,它将需要测试的各种变量值通过集合的形式返回。
  5. 使用定义的私有变量定义测试方法

Junit 4 参数化测试样例

EvenNumberChecker.java 校验输入的数字是否为偶数:

package in.co.javatutorials;/**
* @author javatutorials.co.in
*/
public class EvenNumberChecker {/*** Is input number even.** @param i input number* @return <code>true</code> if input is even number; otherwise return false*/public boolean isEven(int i) {if (i % 2 == 0) {return true;} else {return false;}}
}

EvenNumberCheckerTest.java 对 EvenNumberChecker.java 进行参数化测试:

package in.co.javatutorials;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;/**
* @author javatutorials.co.in
*/
// Step 1
@RunWith(Parameterized.class)
public class EvenNumberCheckerTest {// Step 2: variables to be used in test method of Step 5private int inputNumber;private boolean isEven;// Step 3: parameterized constructorpublic EvenNumberCheckerTest(int inputNumber, boolean isEven) {super();this.inputNumber = inputNumber;this.isEven = isEven;}// Step 4: data set of variable values@Parameterspublic static Collection<Object[]> data() {Object[][] data = new Object[][] {{ 2, true },{ 5, false },{ 10, false }};return Arrays.asList(data);}@Testpublic void test() {System.out.println("inputNumber: " + inputNumber + "; isEven: " + isEven);EvenNumberChecker evenNumberChecker = new EvenNumberChecker();// Step 5: use variables in test codeboolean actualResult = evenNumberChecker.isEven(inputNumber);assertEquals(isEven, actualResult);}
}

 样例输出

       在Eclipse junit 窗口的输出为:

      


      样例日志输出

inputNumber: 2; isEven: true
inputNumber: 5; isEven: false
inputNumber: 10; isEven: false


源码下载

点击我下载源码

教程目录导航

  • Junit测试框架介绍
  • Junit Eclipse教程
  • Junit 4注解
  • Junit 4断言方法(Assert methods
  • Junit 4参数化测试
  • Junit 4测试套件(Test Suite)
  • Junit 4忽略测试(Ignore Test)
  • Junit 4超时测试(Timeout Test


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

本文出处为 http://blog.csdn.net/luanlouis,转载请注明出处,谢谢!

这篇关于Junit 4 Tutorials(Junit 4 教程) 四、Junit4 参数化测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981639

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Python lambda函数(匿名函数)、参数类型与递归全解析

《Pythonlambda函数(匿名函数)、参数类型与递归全解析》本文详解Python中lambda匿名函数、灵活参数类型和递归函数三大进阶特性,分别介绍其定义、应用场景及注意事项,助力编写简洁高效... 目录一、lambda 匿名函数:简洁的单行函数1. lambda 的定义与基本用法2. lambda

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指