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是个可选的消息,假如提供,将会在发生错误时报告这个消息。
该断言会使测试立即失败,通常用在测试不能达到的分支上(如异常)。
分享到:
相关推荐
### JUnit中的各种断言详解 #### 一、概述 JUnit 是一个用于编写和运行可重复测试的框架,尤其适用于 Java 开发环境。它通过提供一系列的断言方法来帮助开发者确保代码按照预期的方式工作。这些断言方法可以帮助...
### 单元测试JUnit常用断言方法 #### JUnit简介 JUnit是一款用于Java语言的单元测试框架,由Kent Beck与Erich Gamma共同开发维护。它主要用于编写和运行可重复的测试案例,帮助开发者确保代码质量并及时发现潜在...
### JUnit常用断言方法详解 #### 一、概述 JUnit 是一个用于编写和运行可重复测试的框架,主要用于Java程序的单元测试。在进行单元测试时,我们经常需要使用到断言方法来验证被测代码的行为是否符合预期。本文将...
JUnit 是Java编程语言中广泛使用的单元测试框架,它提供了一系列的断言方法来帮助开发者验证代码的行为。这些断言方法允许我们检查程序执行的结果是否符合预期,从而找出潜在的错误。以下是对标题和描述中提到的...
总之,这个"Junit4的小实例程序"是一个很好的学习资源,通过它,你可以学习到如何使用JUnit4进行单元测试,包括创建测试类、编写测试方法、使用断言以及了解测试生命周期等核心概念。实践这些示例,将有助于提升你的...
然而,对于返回类型为 `void` 的方法,由于其没有显式的返回值,传统的 Junit 断言方法(如 `assertEquals`)无法直接应用于这类方法的测试。本文将详细介绍如何使用 Junit 测试 `void` 类型的方法,并提供一个具体...
### Junit入门培训资料(断言相关):深入解析与应用 #### Junit概述与重要性 JUnit,作为由Kent Beck和Erich Gamma共同开发的开源Java测试框架,已成为Java开发人员进行单元测试的首选工具。它不仅是Java编程语言...
JUnit提供了注解、断言、测试套件、定时器等特性,使得编写和执行测试变得简单且直观。 2. **注解(Annotations)**: - `@Test`:用于标记测试方法,每个测试类通常包含多个这样的方法。 - `@Before`:在每个...
JUnit 4.11继续完善了框架,增加了对Java 5的断言(AssertJ)的支持,提供了更丰富的断言方法,使得测试表达更清晰。此外,这个版本还支持了软断言(Soft Assertions),允许在一个测试方法中多次断言,所有断言结果...
JUnit是一个广泛使用的Java单元测试框架,它提供了丰富的断言函数来帮助开发者验证程序的行为是否符合预期。这篇联想培训的PPT详细介绍了JUnit中的几种主要断言函数,包括assertEquals、assertTrue、assertFalse、...
Assertion是JUnit中的断言机制,用于验证测试结果。 JUnit的优点 JUnit有许多优点,如提高代码质量、减少bug、提高开发效率等。使用JUnit可以帮助开发者编写高质量的代码,减少错误和bug。 JUnit的应用 JUnit广泛...
在进行实际测试时,可以创建一个继承自`org.junit.jupiter.api.TestInstance`的测试类,利用JUnit Jupiter提供的各种注解编写测试用例。例如: ```java import org.junit.jupiter.api.DisplayName; import org....
测试方法中,JUnit4提供了一些断言方法,如`assertEquals`、`assertTrue`等,用于检查预期结果与实际结果的相符性。例如,`assertEquals(expected, actual)`用于验证两个对象或值是否相等,`assertTrue(condition)`...
这些示例对于初学者快速上手和熟练掌握JUnit5的各种用法非常有指导意义。 JUnit5的主要特点和知识点包括: 1. **模块化设计**:JUnit5由三个主要模块组成:JUnit Platform(平台)、JUnit Jupiter(核心)和JUnit ...
此脚本为 Java 中 JSON 对象模型的 JUnit 测试编写了超级简单的断言 用它 特征 基本相等检查 能够将键名引用为lowerCamelCase(如果您使用来自GSON的@SerializedName(…)的东西 贡献 叉 做出改变 测试您的更改 提交...
在编写单元测试时,使用这些断言函数可以确保被测试的方法在各种边界情况和预期输入下都能正确工作。它们可以帮助开发者快速定位代码中的问题,提高代码质量,并且便于重构和维护。理解并熟练运用这些断言是Java开发...
本文档介绍了JUnit4的基础知识,包括单元测试的概念、JUnit4的HelloWorld示例、断言机制、注解使用、测试运行方式等。 单元测试的概念 单元测试是指对软件的最小单元进行测试,以确保其正确性和可靠性。单元测试...
- **自定义断言**:JUnit 5提供`Assertions`类,可以方便地创建自己的断言库。 6. **测试分组与分层** - **测试分组**:利用`@Tag`注解,可以将测试划分为不同的组,便于按需运行或跳过。 - **测试分层**:JUnit...
使用这个库,开发者可以创建测试类,定义测试方法,并使用各种断言来检查程序行为是否符合预期。例如,你可以使用`@Test`注解标记一个方法为测试方法,使用`assertEquals()`或`assertTrue()`等方法来验证结果。 ...
2. **条件断言**:Junit5引入了新的断言API,如`assertAll()`,可以同时验证多个条件。 3. **参数化测试**:通过`@ParameterizedTest`注解,可以创建参数化的测试,对多种输入进行测试。 4. **测试注解增强**:如`...