assertj断言机制记录
2016-11-18 14:51
337 查看
assertj断言机制记录
据说Junit自带org.junit.Assert断言包功能不够完善,assertj功能更强大,在官网http://joel-costigliola.github.io/assertj/
和一些博客上进行学习、记录如下。
在IntelliJ IDEA中使用maven来下载assertj的jar包
<dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <!-- use x.x.x for Java 7 projects --> <version>x.x.x</version> <!-- <version>x.x.x</version> --> <scope>test</scope> </dependency>
//导入asserthat所有方法
import static org.assertj.core.api.Assertions.*;
assertThat(a).as("错误描述").method(b) a 是实际结果,b是预期结果。实际结果符合预期结果的方法method则测试通过,否则报错输出“错误描述”。
断言所用list
list.add("test1"); list.add("test2"); list.add("test3"); list.add("test3"); listtest.add("test1"); listtest.add("test2"); listtest.add("test3");
字符串处理
assertThat("test1").isEqualTo("test1"); assertThat("test1").isSameAs("test1"); assertThat("test1").isNotEqualTo("test2"); assertThat("frodo").startsWith("fro") .endsWith("do") .isEqualToIgnoringCase("Frodo"); //正确,忽略大小写 // 断言包含字符串 不包含字符串 assertThat("Frodo").contains("rod").doesNotContain("fro"); //正确,会识别大小写 // 断言字符串只出现过一次 assertThat("Frododo").containsOnlyOnce("do"); // 错误栗子 //判断正则匹配 assertThat("Frodo").matches("..o.o") // 一个.代表一个字母 .doesNotMatch(".*r");//.*表示一串字母,不是以r结尾则测试通过 //.doesNotMatch(".*r.*");//错误栗子,含有字母r则不通过
list包含断言
assertThat(list).hasSize(4) .contains("test1", "test2") .containsOnly("test1", "test2", "test3") .containsExactly("test1", "test2", "test3", "test3") .containsAll(listtest) //包含listtest中的全部元素 .doesNotContain("test5"); assertThat(list).isSameAs(listtest);//错误栗子,两个列表所含元素有不一样的
assertThat(list)
.containsOnlyOnce("test3");//
错误栗子,因为test3出现2次[/code]
数字断言
Integer num1 = null; Integer num2 =30; // 断言空 assertThat(num1).isNull(); // 断言非空 assertThat(num2).isNotNull(); // 断言相等 assertThat(num2).isEqualTo(30); // 断言大于 大于等于 assertThat(num2).isGreaterThan(18) .isGreaterThanOrEqualTo(18); // 断言小于 小于等于 assertThat(num2).isLessThan(38) .isLessThanOrEqualTo(38); // 断言0 assertThat(0).isZero(); // 断言正数 非负数 assertThat(1).isPositive() .isNotNegative(); // 断言负数 非正数 assertThat(-1).isNegative() .isNotPositive(); // 断言区间 assertThat(0.8).isStrictlyBetween(0.0,1.0);
相关文章推荐
- Assert(断言实现机制剖析)
- STM32的断言机制——函数assert_param()
- 调用时,加断言assert.h与自制打印消息的记录
- C++ Assert()断言机制原理以及使用
- 断言机制assert_param的使用
- C/C++ 中的assert()宏 断言机制 (转)
- C++ ASSERT() 断言机制
- Assert(断言实现机制深入剖析)
- C++ Assert()断言机制原理以及使用
- Assert断言机制
- C/C++ 中的assert()宏 断言机制
- Assert断言机制
- C++ Assert()断言机制原理以及使用
- Stm32调试之assert_param() 断言机制
- Assert(断言实现机制剖析)
- C++ Assert()断言机制原理以及使用
- Assert(断言实现机制剖析)
- C/C++的assert断言机制
- C++ Assert()断言机制原理以及使用方法
- 11.python中的断言机制——assert