亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

簡單了解Java斷言利器AssertJ原理及用法

瀏覽:38日期:2022-08-21 13:55:00

AssertJ是我目前見過的最強大的斷言api,沒有之一。

官網傳送門

為什么使用assertJ?

1、流式斷言,代碼即用例,直觀易懂。

舉個例子:

傳統的junit或者testng,判斷一個字符串包不包括a跟b兩個字符。要這么寫

assertTrue(stringbuffer.contains('a') && stringbuffer.contains('b'))

而如果你用的assertJ

assertThat(stringbuffer).contains('a').contains('b').as('判斷字符串是否包括a|b')

相比之下,顯然后者更加容易理解。而且as的注釋更是讓斷言清晰

2、方便定制的斷言器

試想一下。當你在做接口測試的時候,還在到處寫著

JSONPath.eval(JSONObject.parse(String),'$yourpath').tostring.equals(expectString)

你的接口自動化里邊。到處都是這些看都不想看的json解析,判斷。然而,當你有了assertJ,你可以自定義你的斷言,盡可能的簡化你的測試代碼,可讀性將能幾何倍數提升。下邊是我自己寫的一個針對json的自定義斷言器:

import java.math.BigDecimal;import org.assertj.core.api.AbstractAssert;import org.assertj.core.api.AbstractBigDecimalAssert;import org.assertj.core.api.AbstractBooleanAssert;import org.assertj.core.api.AbstractCharSequenceAssert;import org.assertj.core.api.AbstractIntegerAssert;import org.assertj.core.api.Assertions;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.JSONPath;/** * assertJ json數據判斷增強 eg:不提供提取數組的方法,在斷言中作用比較小 * * @author jacksoncina2008 * */public class AssertJSON extends AbstractAssert<AssertJSON, String> { protected AssertJSON(String actual) { super(actual, AssertJSON.class); // TODO Auto-generated constructor stub } public static AssertJSON assertThat(String json) { return new AssertJSON(json); } /** * 提取字符串節點 */ public AbstractCharSequenceAssert<?, String> jsonPathAsString(String path) { return Assertions.assertThat((String) JSONPath.eval(getJSON(actual), path)); } /** * 提取boolean節點 */ public AbstractBooleanAssert<?> jsonPathAsBoolean(String path) { return Assertions.assertThat((boolean) JSONPath.eval(getJSON(actual), path)); } /** * 提取數字節點 * */ public AbstractIntegerAssert<?> jsonPathAsInteger(String path) { return Assertions.assertThat((Integer) JSONPath.eval(getJSON(actual), path)); } /** * 提取小數 * */ public AbstractBigDecimalAssert<?> jsonPathAsBigDecimal(String path) { return Assertions.assertThat((BigDecimal) JSONPath.eval(getJSON(actual), path)); } private JSONObject getJSON(String json) { JSONObject j = new JSONObject(); j = JSONObject.parseObject(json); return j; }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 97久久久久国产精品嫩草影院 | 欧美日本韩国一区二区 | 国产青草视频在线观看 | 伊人成人在线观看 | 亚洲性后网| 免费黄色视屏网站 | 中文字幕 亚洲精品 | 一级a级国产不卡毛片 | 青青青国产精品国产精品久久久久 | 久久亚洲精品国产精品777777 | 影音先锋5566中文源资源 | 免费一级特黄欧美大片勹久久网 | 欧美日韩亚洲国产一区二区三区 | 亚洲美女毛片 | 三级毛片三级毛片 | 久久久久99精品成人片三人毛片 | 91国内外精品自在线播放 | 日韩欧美区 | 久久视屏这里只有精品6国产 | 黄色爱爱视频 | 视频一二三区 | 超黄视频网站 | 亚洲精品一区二区三区网址 | 国产精品国产高清国产专区 | 特级黄色毛片 | 人九九精品 | 国产精品国产高清国产专区 | 中文字幕亚洲不卡在线亚瑟 | 欧美精品成人一区二区视频一 | 欧美亚洲专区 | 日本在线观看一级高清片 | 青青伊人91久久福利精品 | 久久精品国产精品亚洲20 | 国产精品亚洲二区在线 | 久久精品国产一区二区三区 | 自拍偷拍1 | 国产理论| 久久国产精品2020免费m3u8 | 国产精品1024永久免费视频 | 黄色a一级视频 | 欧美黄色性 |