【问题标题】:How to create an assertion for the exception message [duplicate]如何为异常消息创建断言[重复]
【发布时间】:2021-06-23 21:48:12
【问题描述】:

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

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

到目前为止,这是我的代码,但我不知道如何处理 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(          
        );

     
    }

【问题讨论】:

  • 请向您的老师咨询。

标签: java junit assert junit5 assertion


【解决方案1】:

你可以这样查看错误信息:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-26
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 2011-01-29
    • 1970-01-01
    • 2010-10-06
    相关资源
    最近更新 更多