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

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

4B参数秒杀GPT-3.5:MiniCPM 3.0惊艳登场!

​ 面壁智能 在 AI 的世界里,总有那么几个时刻让人惊叹不已。面壁智能推出的 MiniCPM 3.0,这个仅有4B参数的"小钢炮",正在以惊人的实力挑战着 GPT-3.5 这个曾经的AI巨人。 MiniCPM 3.0 MiniCPM 3.0 MiniCPM 3.0 目前的主要功能有: 长上下文功能:原生支持 32k 上下文长度,性能完美。我们引入了

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测