本文来自网易云社区
作者:范旭斐
大家在使用testng、junit做自动化测试的过程中,经常会用到testng、junit自带的断言器,有时候对一个字符串、日期、列表进行断言很麻烦,需要借助到jdk或者第三方包的方法进行处理后断言,无形之中增加了代码量,测试用例方法的代码看起来也不够友好,很臃肿。总体来说,junit&testng的断言API还可以,功能不算强大,只能说是满足我们日常测试的需求。这里向大家推荐一款功能强大的流式断言器——AssertJ,所谓的流式断言就是相较于Assert的单个校验点断言,支持一条断言语句对实际值同时断言多个校验点。
POM依赖
<dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <scope>test</scope> <version>3.9.1</version> </dependency>
示例
1.字符串断言
// 字符串断言 assertThat("test").isNotBlank() // 是否为" "字符串 .as("字符串断言描述").isSubstringOf("test1") // 是否为test1的一部分 .isSameAs("test") // 对象内元素是否相等 .isNotEmpty() // 是否为空字符串