学习AssertJ Maven的基础知识

336 阅读5分钟

AssertJ Maven

AssertJ Maven简介

AssertJ maven是一个中央资源库,它提供了一套直观而丰富的断言,用于单元测试。maven assertj的目标是提供单元测试。这个想法不过是对单元测试中被检查对象类型的特定断言进行处理而已。如果我们检查的是字符串值,那么我们可以使用特定于字符串的断言。

对于检查地图值,我们使用地图特定的断言,以方便检查地图的断言。assertj的断言非常容易使用,我们需要使用代码完成功能来显示可用的断言。Maven assertj由maven assertions中定义的几个模块组成。

maven核心模块为Jdk类型提供断言,如iterable、string、path、file和stream。guava模块提供了guava类型的断言,如optional和multimap。joda时间模块提供joda类型的断言,如日期时间和本地日期时间。neo4j模块提供neo4j类型的断言,如节点、路径和关系。

主要启示

  • 编写maven断言时,我们需要开始将对象传递给断言方法,并需要遵循指定的断言,这是实际的。
  • 在使用时,我们需要在pom.xml文件中添加assertj依赖项。

如何设置?

下面的步骤显示了我们如何设置,如下。在下面的例子中,我们正在创建assertj_maven项目,具体如下。

1.在这一步中,我们使用spring initializer创建maven_test项目。下面我们提供项目名称为assertj_maven。

组名:com.example

工件:assertj_maven

名称:assertj_maven

包装:jar

Java版本:8

语言:ava

AssertJ Maven 1

2.第二步,我们通过使用spring工具套件打开maven assertj项目的项目模板。

AssertJ Maven 2

3.打开maven assertj项目后,在下面的例子中我们可以看到,我们正在检查项目的结构。

AssertJ Maven 3

4.检查完项目结构后,在这一步中我们要在maven项目中添加assertj依赖。

代码

<dependency>
<groupId> org.assertj </groupId>
<artifactId> assertj-core </artifactId>
<version> 3.4.1 </version>
<scope> assertj </scope>
</dependency>

输出

AssertJ Maven 4

5.添加完依赖后,我们要创建一个定义assertj的maven类。

代码

@DisplayName("Assertions bool")
class assertj {
@Nested
@DisplayName("boolean true")
class assertj1 {
   @Test
   @DisplayName("its true")
   void assertj2() {
   assertThat(true).isTrue();
   }  }
 }

输出

AssertJ Maven 5

6.在这一步,我们通过使用maven测试来运行项目。

AssertJ Maven 6

AssertJ Maven字符

字符类型断言涉及比较,用于检查Unicode表中的给定字符。下面是断言的例子,该断言用于检查所提供的字符是否为a或小于b,其定义为小写字母,如下所示。

代码

@DisplayName("Assertions bool")
class assertj {
@Nested
@DisplayName("boolean true")
class assertj1 {
@Test
@DisplayName("its true")
void assertj2() {
assertThat(char)
   .isNotEqualTo('a')
   .inUnicode()
   . islessThanOrEqualTo('b')
   .isLowerCase();
  } }
}

输出

Character

上面的例子表明我们提供了一个a和b字符的比较,所以在下面的例子中,我们要运行maven assertj测试,如下所示。

comparison of a and b character

AssertJ Maven类

断言类的类型无非是检查字段、存在、类的类型,以及通知类最终性的存在。如果假设我们需要断言该类可通过使用接口运行,那么我们需要编写以下类。

代码

class assertj {
@Nested
class assertj1 {
@Test
void assertj2() {
assertThat (….);
   } }
}

输出

Class

假设我们想检查一个类是可以从其他类中分配的,那么我们就使用下面的例子。

代码。

class assertj {
@Nested
class assertj1 {
@Test
void assertj2() {
assertThat (…);
   } }
}

输出

AssertJ Maven 10

在上面的两个例子中,我们定义了类,在下面的例子中,我们正在运行assertj测试。

assertj test

AssertJ Maven地图

Maven地图断言将允许我们检查地图,它包含了地图断言中定义的条目、键、值和条目集。下面的例子显示了Maven地图断言,它检查给定的地图是否为空,是否包含数字键5,是否包含数字键15,是否包含键5和值p。

代码

class assertj {
@Nested
class assertj1 {
@Test
void assertj2() {
assertThat(map)
  .isNotEmpty()
  .containsKey(5)
  .doesNotContainKeys(15)
  .contains(entry(5, "p"));
  } }
}

输出

Output 12

在上面的例子中,我们用map来定义,在下面的例子中,我们正在运行assertj测试,如下所示。

Output 13

AssertJ Maven文件

Maven文件断言的内容是检查文件实例是否存在。它包含来自一个目录的文件。包含的文件是可读的,或者它包含指定的扩展名。下面是maven断言文件的例子,它是在检查指定目录下的给定文件是否存在。

代码

class assertj {
@Nested
class assertj1 {
@Test
void assertj2() {
assertThat(assert_file)
   .exists()
   .isFile()
   .canRead()
   .canWrite();
  } }
}

输出

Output 14

在上面的例子中,我们定义了文件,在下面的例子中,我们正在运行assertj测试,如下所示。

Output 15

常见问题

下面是提到的常见问题。

Q1.assertj maven的用途是什么?

回答:它是一个中央存储库,提供直观而丰富的断言集,用于单元测试。

Q2.什么是maven assertj中的字符断言?

回答:字符类型断言涉及比较,从包含Unicode的表中检查字符。我们需要在assertj maven中定义指定的字符。

Q3.什么是maven assertj中的可迭代数组断言?

答案:可迭代数组。可迭代数组包含多种断言方式,用于断言存在的环境。最常见的断言是数组包含可迭代元素。

结论

assertj maven neo4j模块为neo4j类型提供了断言,如节点。Maven assertj的断言非常容易使用,我们需要使用代码完成功能来显示可用的断言。Maven assertj由maven assertions中定义的几个模块组成。