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异常。

相关内容

热门资讯

黑科技教学!红龙扑克机制,po... 黑科技教学!红龙扑克机制,pokerist有挂吗,其实真的有挂(2024已更新)-哔哩哔哩;亲,其实...
黑科技科技!红龙扑克是不是有问... 黑科技科技!红龙扑克是不是有问题,云扑克软件,确实有挂(2021已更新)-哔哩哔哩;玩家必备必赢加哟...
黑科技好牌!智星德州菠萝辅助工... 黑科技好牌!智星德州菠萝辅助工具,扑克时间可以控制吗,往昔是有挂(2024已更新)-哔哩哔哩1、点击...
黑科技科技!智星德州菠萝怎么开... 黑科技科技!智星德州菠萝怎么开挂,pokenow有挂吗,原先有挂(2022已更新)-哔哩哔哩;支持2...
黑科技智能ai!智星德州菠萝开... 黑科技智能ai!智星德州菠萝开挂,哈糖大菠萝怎么弄的,从前是有挂(2026已更新)-哔哩哔哩;大神普...
黑科技软件!智星德州菠萝偷偷看... 黑科技软件!智星德州菠萝偷偷看牌功能,gg扑克发牌机制测试,果然有挂(2022已更新)-哔哩哔哩;原...
黑科技ai!红龙扑克辅助器,德... 黑科技ai!红龙扑克辅助器,德扑ai智能机器人代理,都是有挂(2021已更新)-哔哩哔哩是一款可以让...
黑科技软件!红龙扑克辅助器下载... 黑科技软件!红龙扑克辅助器下载,impoker德州外挂,最初真的有挂(2024已更新)-哔哩哔哩是由...
黑科技工具!智星德州菠萝辅助器... 大家肯定在之前智星德州菠萝辅助器免费下载或者智星德州菠萝辅助器免费下载中玩过黑科技工具!智星德州菠萝...
黑科技玄学!智星德州菠萝辅助工... 黑科技玄学!智星德州菠萝辅助工具,德扑软件决策,确实存在有挂(2021已更新)-哔哩哔哩;支持多人共...