一、字符相关匹配符
1、equalTo:
assertThat(testedValue, equalTo(expectedValue));
断言被测的testedValue等于expectedValue,equalTo可以断言数值之间,字符串之间和对象之间是否相等,相当于Object的equals方法
2、equalToIgnoringCase:
assertThat(testedString, equalToIgnoringCase(expectedString));
断言被测的字符串testedString在忽略大小写的情况下等于expectedString
3、equalToIgnoringWhiteSpace:
assertThat(testedString, equalToIgnoringWhiteSpace(expectedString);
断言被测的字符串testedString在忽略头尾的任意个空格的情况下等于expectedString
(注意:字符串中的空格不能被忽略)
4、containsString:
assertThat(testedString, containsString(subString) );
断言被测的字符串testedString包含子字符串subString
5、endsWith:
assertThat(testedString, endsWith(suffix));
断言被测的字符串testedString以子字符串suffix结尾
6、startsWith:
assertThat(testedString, startsWith(prefix));
断言被测的字符串testedString以子字符串prefix开始
二、一般匹配符
1、nullValue():
assertThat(object,nullValue());
断言被测object的值为null*/
2、notNullValue():
assertThat(object,notNullValue());
断言被测object的值不为null*/
3、is:
assertThat(testedString, is(equalTo(expectedValue)));
断言被测的object等于后面给出匹配表达式
1)is匹配符简写应用之一:
assertThat(testedValue, is(expectedValue));
is(equalTo(x))的简写,断言testedValue等于expectedValue
2)is匹配符简写应用之二:
assertThat(testedObject, is(Cheddar.class));
is(instanceOf(SomeClass.class))的简写,断言testedObject为Cheddar的实例
4、not:
assertThat(testedString, not(expectedString));
与is匹配符正好相反,断言被测的object不等于后面给出的object
5、allOf:
assertThat(testedNumber, allOf( greaterThan(8), lessThan(16) ) );
断言符合所有条件,相当于“与”(&&)
6、anyOf:
assertThat(testedNumber, anyOf( greaterThan(16), lessThan(8) ) );
断言符合条件之一,相当于“或”(||)
三、数值相关匹配符
1、closeTo:
assertThat(testedDouble, closeTo( 20.0, 0.5 ));
断言被测的浮点型数testedDouble在20.0-0.5 ~ 20.0+0.5范围之内
2、greaterThan:
assertThat(testedNumber, greaterThan(16.0));
断言被测的数值testedNumber大于16.0
3、lessThan:
assertThat(testedNumber, lessThan (16.0));
断言被测的数值testedNumber小于16.0
4、greaterThanOrEqualTo:
assertThat(testedNumber, greaterThanOrEqualTo (16.0));
断言被测的数值testedNumber大于等于16.0
5、lessThanOrEqualTo:
assertThat(testedNumber, lessThanOrEqualTo (16.0));
断言被测的testedNumber小于等于16.0
四、集合相关匹配符
1、hasEntry:
assertThat(mapObject, hasEntry("key", "value" ) );
断言被测的Map对象mapObject含有一个键值为"key"对应元素值为"value"的Entry项
2、hasItem:
assertThat(iterableObject, hasItem (element));
表明被测的迭代对象iterableObject含有元素element项则测试通过
3、hasKey:
assertThat(mapObject, hasKey ("key"));
断言被测的Map对象mapObject含有键值“key”
4、hasValue:
assertThat(mapObject, hasValue(value));
断言被测的Map对象mapObject含有元素值value
相关推荐
### 单元测试JUnit常用断言方法 #### JUnit简介 JUnit是一款用于Java语言的单元测试框架,由Kent Beck与Erich Gamma共同开发维护。它主要用于编写和运行可重复的测试案例,帮助开发者确保代码质量并及时发现潜在...
### JUnit常用断言方法详解 #### 一、概述 JUnit 是一个用于编写和运行可重复测试的框架,主要用于Java程序的单元测试。在进行单元测试时,我们经常需要使用到断言方法来验证被测代码的行为是否符合预期。本文将...
JUnit 是Java编程语言中广泛使用的单元测试框架,它提供了一系列的断言方法来帮助开发者验证代码的行为。这些断言方法允许我们检查程序执行的结果是否符合预期,从而找出潜在的错误。以下是对标题和描述中提到的...
### JUnit中的各种断言详解 #### 一、概述 JUnit 是一个用于编写和运行可重复测试的框架,尤其适用于 Java 开发环境。它通过提供一系列的断言方法来帮助开发者确保代码按照预期的方式工作。这些断言方法可以帮助...
总之,这个"Junit4的小实例程序"是一个很好的学习资源,通过它,你可以学习到如何使用JUnit4进行单元测试,包括创建测试类、编写测试方法、使用断言以及了解测试生命周期等核心概念。实践这些示例,将有助于提升你的...
例如,我们可以使用`Matchers.is()`, `Matchers.notNullValue()`, `Matchers.equalTo()`等方法来创建预期值的匹配器,然后在JUnit的断言中使用它们。 在JUnit 4.12中,引入了注解(Annotation)的概念,这极大地...
然而,对于返回类型为 `void` 的方法,由于其没有显式的返回值,传统的 Junit 断言方法(如 `assertEquals`)无法直接应用于这类方法的测试。本文将详细介绍如何使用 Junit 测试 `void` 类型的方法,并提供一个具体...
- **创建JUnit项目**:在Eclipse中创建一个新的Java项目,并确保将JUnit库添加到项目构建路径中。 - **自动生成JUnit测试用例**:对于已有类,可以使用Eclipse提供的快捷方式自动生成对应的测试框架,之后再根据...
Assertion是JUnit中的断言机制,用于验证测试结果。 JUnit的优点 JUnit有许多优点,如提高代码质量、减少bug、提高开发效率等。使用JUnit可以帮助开发者编写高质量的代码,减少错误和bug。 JUnit的应用 JUnit广泛...
除了基本的断言方法,JUnit 还提供了如 `assertTrue()`、`assertFalse()`、`assertNull()` 等,以及用于处理集合和数组的断言,如 `assertArrayEquals()`、`assertThat()` 等,以满足各种测试需求。 总的来说,...
JUnit提供了注解、断言、测试套件、定时器等特性,使得编写和执行测试变得简单且直观。 2. **注解(Annotations)**: - `@Test`:用于标记测试方法,每个测试类通常包含多个这样的方法。 - `@Before`:在每个...
JUnit是一个广泛使用的Java单元测试框架,它提供了丰富的断言函数来帮助开发者验证程序的行为是否符合预期。这篇联想培训的PPT详细介绍了JUnit中的几种主要断言函数,包括assertEquals、assertTrue、assertFalse、...
除了基本的断言外,JUnit 5还提供了丰富的assertion库,如`Assertions`类中的静态方法,可以进行更复杂的比较和异常验证。 此外,JUnit 5支持异步测试,通过`@Test`注解的`async()`属性和`awaitility`库,可以方便...
4. **测试断言(Assertions)**:JUnit提供了多种断言方法,如`assertEquals()`用于比较预期结果和实际结果,`assertTrue()`和`assertFalse()`检查条件是否为真或假,`assertNull()`检查对象是否为null等,这些都是...
JUnit Platform支持多种测试框架,而JUnit Jupiter是新测试API的核心,JUnit Vintage则允许在JUnit5中运行JUnit4的测试。 2. **注解增强**:JUnit5扩展了注解,如`@Test`、`@BeforeAll`、`@BeforeEach`、`@After...
在`JUnit & 简单Junit使用代码`这个文件中,可能包含了一个或多个示例,展示了如何创建测试类、编写测试方法、使用断言以及设置测试环境。例如,可能有一个简单的数学操作类`MathUtils`,以及对应的测试类`...
测试方法中,JUnit4提供了一些断言方法,如`assertEquals`、`assertTrue`等,用于检查预期结果与实际结果的相符性。例如,`assertEquals(expected, actual)`用于验证两个对象或值是否相等,`assertTrue(condition)`...
2. **条件断言**:Junit5引入了新的断言API,如`assertAll()`,可以同时验证多个条件。 3. **参数化测试**:通过`@ParameterizedTest`注解,可以创建参数化的测试,对多种输入进行测试。 4. **测试注解增强**:如`...
JUnit 4.4兼容之前的版本,这意味着大部分旧的JUnit测试用例可以在新版本中无缝运行。 通过这些改进,JUnit 4.4提升了测试的灵活性、可读性和可维护性,使得开发者能够更好地编写和维护高质量的代码。不过,需要...
- **自定义断言**:JUnit 5提供`Assertions`类,可以方便地创建自己的断言库。 6. **测试分组与分层** - **测试分组**:利用`@Tag`注解,可以将测试划分为不同的组,便于按需运行或跳过。 - **测试分层**:JUnit...