assertj断言机制记录

    xiaoxiao2021-12-02  34

    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);
    转载请注明原文地址: https://ju.6miu.com/read-679760.html

    最新回复(0)