Junit4 单元测试的断言

2024-03-16 17:18
文章标签 单元测试 断言 junit4

本文主要是介绍Junit4 单元测试的断言,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言。下面我们来介绍一下JUnit的各种断言。 

   1、assertEquals 

  函数原型1:assertEquals([String message],expected,actual) 

参数说明: 

message是个可选的消息,假如提供,将会在发生错误时报告这个消息。 

  expected是期望值,通常都是用户指定的内容。 

actual是被测试的代码返回的实际值。 

例:assertEquals("equals","1","1"); 

  函数原型2:assertEquals([String message],expected,actual,tolerance) 

参数说明: 

message是个可选的消息,假如提供,将会在发生错误时报告这个消息。 

  expected是期望值,通常都是用户指定的内容。 

  actual是被测试的代码返回的实际值。 

  tolerance是误差参数,参加比较的两个浮点数在这个误差之内则会被认为是 

  相等的。 

  例:assertEquals ("yes",5.8,11.0/2.0,0.5); 

  2、assertTrue 

   函数原型:assertTrue ([String message],Boolean condition) 

   参数说明: 

message是个可选的消息,假如提供,将会在发生错误时报告这个消息。 

       condition是待验证的布尔型值。 

   该断言用来验证给定的布尔型值是否为真,假如结果为假,则验证失败。当然,更有验证为假的测试条件: 

          函数原型:assertFalse([String message],Boolean condition) 

          该断言用来验证给定的布尔型值是否为假,假如结果为真,则验证失败。 

       例: assertTrue("true",1==1); 

              assertFalse("false",2==1); 

  3、assertNull 

  函数原型:assertNull([String message],Object object) 

参数说明: 

message是个可选的消息,假如提供,将会在发生错误时报告这个消息。 

  object是待验证的对象。 

  该断言用来验证给定的对象是否为null,假如不为null,则验证失败。相应地,还存在能够验证非null的断言: 

  函数原型:assertNotNull([String message],Object object) 

该断言用来验证给定的对象是否为非null,假如为null,则验证失败。 

例:assertNull("null",null); 

       assertNotNull("not null",new String()); 

  4、assertSame 

  函数原型:assertSame ([String message], expected,actual) 

参数说明: 

message是个可选的消息,假如提供,将会在发生错误时报告这个消息。 

  expected是期望值。 

  actual是被测试的代码返回的实际值。 

  该断言用来验证expected参数和actual参数所引用的是否是同一个对象,假如不是,则验证失败。相应地,也存在验证不是同一个对象的断言: 

  函数原型:assertNotSame ([String message], expected,actual) 

该断言用来验证expected参数和actual参数所引用的是否是不同对象,假如所引用的对象相同,则验证失败。 

例:assertSame("same",2,4-2); 

        assertNotSame("not same",2,4-3); 

  5、Fail 

  函数原型:Fail([String message]) 

参数说明: 

message是个可选的消息,假如提供,将会在发生错误时报告这个消息。 

  该断言会使测试立即失败,通常用在测试不能达到的分支上(如异常)。 

这篇关于Junit4 单元测试的断言的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

springboot+maven搭建的项目,集成单元测试

springboot+maven搭建的项目,集成单元测试 1.在pom.xml文件中引入单元测试的依赖包 <!--单元测试依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></depen

关于断言的部分用法

1、带变量的断言  systemVerilog assertion 中variable delay的使用,##[variable],带变量的延时(可变延时)_assertion中的延时-CSDN博客 2、until 的使用 systemVerilog assertion 中until的使用_verilog until-CSDN博客 3、throughout的使用   常用于断言和假设中的

C/C++ 中的assert()宏 断言机制

ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。   原型定义: #include <assert.h> void assert( int expre

PowerMock 单元测试总结与常见坑解决方案

PowerMock 单元测试总结与常见坑解决方案 官方文档: PowerMock GitHub PowerMock 在单元测试中能够帮助我们解决静态类、final 方法、私有方法等无法轻易 mock 的问题。下面是我在实际使用 PowerMock 时踩过的一些坑,并结合 PowerMock 的一些方法进行总结。 基本依赖和设置 在 Maven 中添加 PowerMock 依赖。在测试

python+selenium2学习笔记unittest-03断言

断言的方法网上归纳的很多主要有以下这些 断言语法解释assertEqual(a, b) 判断a==bassertNotEqual(a, b)判断a!=bassertTrue(x)bool(x) is TrueassertFalse(x)bool(x) is FalseassertIs(a, b)a is bassertIsNot(a, b) a is not bassertIsNone(x) x

JAVA—单元测试

单元测试:就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试     之前是使用main函数调用来进行检测,无法实现自动化测试 也会影响其他方法的测试 目录 1.junit框架概述 2.junit框架的常见注解 1.junit框架概述 package High_junit;//字符串工具类 用于测试public class String_ju

idea单元测试报错找不到主类

报错截图 主要是单测中没有配置类 在下面的command line 中选择jar manifest 因为条参数过长,这里设置只使用主类 详细解释见: https://www.jianshu.com/p/8322b3b17040

file | 某文件夹【解耦合】下的文件查找功能实现及功能单元测试

文件查找工具 概要思路OS模块 --- 学习版os.getcwd()os.path.dirname(os.getcwd())os.path.dirname() 和 os.path.basename() OS模块 — 实战版单元测试解耦合 概要 梳理业务主逻辑: 查看存放被采集JSON数据的文件夹内的文件列表【所有 包含文件夹下的文件夹下的文件】 这是本节内容聚焦的点和My

【JUnit单元测试框架】

单元测试的概念 单元测试,顾名思义,是针对软件中的最小可测试部分(通常是类或方法)进行的测试。它的目的是确保这些最小单元按照预期工作,从而帮助开发者快速定位和解决问题。单元测试通常遵循“隔离”原则,即测试一个功能单元时,应该尽量减少对其他部分的依赖,以便专注于当前单元的行为。 历史做法及其问题 将所有测试代码都放在main方法中,并通过main方法去调用其他方法进行测试。这种做法存在几个显著

visual studio2015单元测试

尝试引用了包含待测了待测程序的项目,但是不知道该如何调用待测代码,所以只能通过引用生成的库文件 进行单元测试的步骤: 一、创建控制台静态库项目,将要测试的代码编译为库文件 二、创建单元测试项目,引用创建的库文件,并在stdafx.h中包含之前库文件的头文件: 1)直接include头文件的绝对路径 2)将头文件复制到单元测试项目的根目录下,并直接在stdafx.h头文件中include头