assertj斷言機制記錄
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次
數字斷言
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);
相關文章
- JUnit 單元測試斷言推薦 AssertJ
- OS筆記(中斷/異常機制)筆記
- 聊聊中斷機制~
- Java中斷機制Java
- liteos 中斷機制(四)
- 人腦的「中斷機制」
- Linux中斷機制分析Linux
- Go基礎學習記錄之反射(reflect)機制Go反射
- 輕量級的架構決策記錄機制架構
- logstash處理檔案進度記錄機制
- 中斷下半部機制 - 軟中斷及tasklet
- 分錄科目生成機制
- 微信小程式開發記錄02_執行機制微信小程式
- 詳細分析Java中斷機制Java
- linux中斷底半部機制Linux
- Go語言Interface機制解析Go
- 十二、Jmeter 斷言-響應斷言、Json 斷言和 Beanshell 斷言JMeterJSONBean
- 中斷下半部的三種機制
- 系統對不同語言程式有不同記憶體管理機制?記憶體
- 企業轉換經營機制斷想
- Java多執行緒17:中斷機制Java執行緒
- GC機制和OutOfMemory問題的診斷GC
- 系統對不同語言的程式有不同記憶體管理機制?記憶體
- JavaScript 記憶體機制JavaScript記憶體
- Oracle安全機制--審記Oracle
- GVM回收機制-筆記筆記
- ARM下C語言棧幀機制C語言
- Go語言錯誤處理機制Go
- 刷題記錄(C語言)01C語言
- Android Handler機制之總目錄Android
- hibernate快取機制書目錄快取
- 中斷機制和中斷描述符表、中斷和異常的處理
- 肯定賦值斷言與非空斷言賦值
- Spring Cloud Feign 熔斷機制填坑SpringCloud
- 深入分析Java執行緒中斷機制Java執行緒
- AIX+weblogic效能診斷記錄1AIWeb
- javase學習記錄之------生成者消費者之等待喚醒機制Java
- 斷言操作