概述
1.概述
Truth是一种流畅,灵活的开源测试框架,旨在使测试断言和失败消息更具可读性。
在本文中,我们将探索Truth框架的关键功能,并通过示例来展示其功能。
2. Maven依赖
首先,我们需要将添加Truth和Truth-java8扩展到我们的pom.xml:
1 2 3 4 5 6 7 8 9 10 11 |
<dependency> <groupId>com.google.truth</groupId> <artifactId>truth</artifactId> <version>0.32</version> </dependency> <dependency> <groupId>com.google.truth.extensions</groupId> <artifactId>truth-java8-extension</artifactId> <version>0.32</version> <scope>test</scope> </dependency>
或者项目工程下build.gradle |
您可以在Maven Central上找到Truth和Truth-java8-extension的最新版本。
3.简介
Truth允许我们为各种类编写可读的断言和失败消息:
-
标准Java –基元,数组,字符串,对象,集合,可抛出对象,类等。
-
Java 8 – 可选和Stream实例
-
番石榴 – 可选,Multimap,Multiset和Table对象
-
自定义类型 –通过扩展Subject类,我们将在后面看到
通过Truth和Truth8类,该库提供了实用的方法,可用于编写对主题(即被测试的值或对象)起作用的断言。
一旦知道了该主题,真相就可以在编译时推断该主题已知的命题。这使它可以返回围绕我们的值的包装器,这些包装器声明特定于该特定主题的命题方法。
例如,在对列表进行断言时,Truth返回IterableSubject实例,该实例定义诸如contains()和containsAnyOf()等方法。在Map上声明时,它返回一个MapSubject,该方法声明诸如containsEntry()和containsKey()之类的方法。
4.入门
要开始编写断言,让我们首先导入Truth的入口点:
1 2 |
import static com.google.common.truth.Truth.*;< |