如何为异常消息创建断言

时间:2021-03-27 02:41:21

标签: java junit assert junit5 assertion

为了测试我的代码,我必须创建一些额外的断言方法(用于赋值)。

这个检查一个可执行文件是否抛出了expectedType、什么都不抛出、抛出了错误的exceptionMessage 或没有exceptionMessage。

这是我目前的代码,但我不知道如何处理异常消息检查。

public class Test {

    public static void assertThrowsMessage(Class<? extends Exception> expectedType,
                                               Executable executable, String exceptionMessage, String message) {
//Throws AssertionError when wrong exception type is thrown
        Assertions.assertThrows(
                expectedType,
                () -> {throw new Exception();},
                message
        );


//Throws AssertionError when no exception type is thrown
        Assertions.assertThrows(
                expectedType,
                () -> {},
                message
        );


//Throws AssertionError when no exceptionMessage is thrown
        Assertions.assertThrows(          
        );


//Throws AssertionError when wrong exceptionMessage is thrown
 Assertions.assertThrows(          
        );

     
    }

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式检查错误消息:

        Throwable exception = Assertions.assertThrows(expectedType, () -> 
        {
            throw new RuntimeException( "Error message" );
        }, message );
        Assertions.assertEquals( expectedMessage, exception.getMessage(), message );

assertThrows 没有失败时,它返回异常。您可以使用该异常进行额外检查

相关问题