1.概述

在某些情况下,我们需要断言如果给定字符串是空还是不空。在Java中有相当多的方法来实现这样的断言。

让我们探讨其中一些测试断言技术在这个快速教程中。

2.Maven的依赖关系

我们首先需要获取一些依赖项。在Maven项目中,我们可以将以下依赖项添加到pom.xml:

JUnit:

 junit junit 4.12 

Hamcrest核心:

<依赖> < groupId > org。hamcrest-core 1.3 

Apache Commons Lang:

 org.apache.commons commons-lang3 3.11 

AssertJ:

<依赖> < groupId > org。assertj assertj-core 3.11.1 

谷歌番石榴:

<依赖> < groupId > com.google。 26.0-jre 

3.使用JUnit

我们将使用isEmpty方法从字符串上课的时候断言类来验证是否给定字符串不是空的。isEmpty方法如果输入字符串是空的我们可以把它和assertFalse方法:

assertFalse (text.isEmpty ());

或者,我们还可以使用:

assertTrue (! text.isEmpty ());

认为自文本可能是零,另一种方法是使用assertNotEquals方法:

assertNotEquals(”、文本);

或者:

assertNotSame(”、文本);

查看我们关于JUnit断言的深入指南在这里

所有这些断言失败时将返回AssertionError。

4.使用Hamcrest核心

Hamcrest是一个著名的框架,它提供了匹配器,通常用于Java生态系统中的单元测试。

我们可以利用哈姆克雷斯特CoreMatchers类用于空字符串检查:

为了(文本、CoreMatchers.not (isEmptyString ()));

isEmptyString方法中可用IsEmptyString类。

当失败时,它也返回一个AssertionError,但是有一个更有用的输出:

java.lang.AssertionError: Expected:不是一个空字符串,而是:was ""

如果需要,为了验证String既不是空也不是空,我们可以使用isEmptyOrNullString:

为了(文本、CoreMatchers.not (isEmptyOrNullString ()));

学习其他的方法金宝搏官网188beCoreMatchers类阅读以前发表的文章。

5.使用Apache Commons Lang

Apache Commons Lang类提供了许多帮助工具. langAPI。

stringutil类提供了一个方法,我们可以用来检查空字符串:

assertTrue (StringUtils.isNotBlank(文本));

失败时,将返回一个简单的AssertionError。

要了解更多关于使用Apach金宝搏官网188bee Commons Lang进行字符串处理的信息,请阅读篇文章。

6.使用AssertJ

AssertJ是一个开源的、社区驱动的库,用于在Java测试中编写流畅而丰富的断言。

该方法AbstractCharSequenceAssert.isNotEmpty ()验证实际的CharSequence进行不是空的,或者,换句话说,它不是null,长度为1或更多:

Assertions.assertThat(文本).isNotEmpty ()

失败时,输出如下:

assertionerror:期望actual不为空

我们有一篇关于AssertJ的很好的介绍性文章在这里

7.使用谷歌番石榴

番石榴是谷歌提供的一组核心库。

该方法isNullOrEmpty从番石榴字符串类可以用来验证String是否为空(或零):

assertFalse (Strings.isNullOrEmpty(文本));

这也返回一个AssertionError当失败而没有其他输出消息时。

要探索我们关于番石榴API的其他文章,请点击链接在这里

8.结论

在这个快速教程中,我们了解了如何断言如果给定字符串是空还是不空。

如往常一样,完整的代码片段可以在在GitHub

通用的底部

开始使用Spring 5和Spring Boot 2,通过学习的春天课程:

>>看看这个课程
1评论
最古老的
最新的
内联反馈
查看所有评论
对这篇文章的评论关闭!