AssertJ的“软”断言在fail()调用时断言为硬断言。
创始人
2024-09-20 16:00:30
0

在AssertJ中,软断言通过使用softAssertions对象来创建。当使用softAssertions.assertAll()方法时,如果有任何断言失败,它将记录失败的断言,但不会中止测试。

要将软断言转换为硬断言,可以使用assertThatCode方法包装需要进行断言的代码块,并在其后调用doesNotThrowAnyException()方法。这样,如果代码块中的断言失败,将抛出一个AssertionError,使其成为一个硬断言。

以下是一个示例代码:

import org.assertj.core.api.Assertions;
import org.assertj.core.api.SoftAssertions;

public class SoftAssertExample {
    
    public void someMethod() {
        int x = 5;
        int y = 10;
        
        SoftAssertions softAssertions = new SoftAssertions();
        
        softAssertions.assertThat(x).isEqualTo(5);
        softAssertions.assertThat(y).isEqualTo(20); // This assertion will fail
        
        softAssertions.assertAll(); // Soft assertion
        
        Assertions.assertThatCode(() -> {
            Assertions.assertThat(x).isEqualTo(5);
            Assertions.assertThat(y).isEqualTo(20); // This assertion will fail
        }).doesNotThrowAnyException(); // Hard assertion
    }
    
    public static void main(String[] args) {
        SoftAssertExample example = new SoftAssertExample();
        example.someMethod();
    }
}

在上面的示例中,软断言将记录失败的断言,但不会抛出异常。然而,通过使用assertThatCode方法和doesNotThrowAnyException方法,我们可以将其转换为硬断言,如果有任何断言失败,将抛出AssertionError异常。

相关内容

热门资讯

透视最新!德普辅助软件(透视)... 透视最新!德普辅助软件(透视)透视挂(一直真的是有挂)德普辅助软件辅助器中分为三种模型:德普辅助软件...
透视讲解!aapoker透视脚... 透视讲解!aapoker透视脚本下载(透视)透视软件(一直真的有挂)aapoker透视脚本下载软件透...
透视真的!如何下载德普之星辅助... 透视真的!如何下载德普之星辅助软件(透视)私人局辅助免费(果然有挂)1)如何下载德普之星辅助软件辅助...
透视游戏!aapoker安装包... 透视游戏!aapoker安装包怎么使用(透视)真的假的(确实是有挂);1、完成aapoker安装包怎...
透视脚本!德普之星辅助器(透视... 透视脚本!德普之星辅助器(透视)私人局辅助免费(一贯有挂)1、让任何用户在无需德普之星辅助器AI插件...
透视脚本!aapoker辅助工... 透视脚本!aapoker辅助工具安全吗(透视)插件下载(总是有挂)1、在aapoker辅助工具安全吗...
透视线上!德普之星透视辅助(透... 透视线上!德普之星透视辅助(透视)透视(竟然真的有挂)1、进入到德普之星透视辅助黑科技之后,能看到左...
透视智能ai!aapoker辅... 透视智能ai!aapoker辅助工具安全吗(透视)透视插件(总是存在有挂)1、不需要AI权限,帮助你...
透视教程!德普之星辅助器(透视... 透视教程!德普之星辅助器(透视)免费透视(原来是有挂);1、德普之星辅助器系统规律教程、德普之星辅助...
透视游戏!aapoker免费透... 透视游戏!aapoker免费透视脚本(透视)透视脚本(一直有挂);1、上手简单,内置详细流程视频教学...