如何测试方法抛出异常junit5

kmilo93sd

我有一个DocumentTypeDetector带有detectForRequest()方法我正在做相应的测试,但是我无法验证是否抛出了自定义异常,我正在使用JUNIT 5。

我在这里进行了评论,但是答案没有帮助我,这是我在以下示例中编写的代码:

@Test
public void tryThrowExceptionForInvalidRequest() throws Exception{

    InvalidInputRequestType exceptionThrown = Assertions.assertThrows(
            InvalidInputRequestType.class,
            () -> { 
                throw new InvalidInputRequestType("La petición debe estar en un formato valido JSON o XML"); 
            }
    );
    assertEquals("La petición debe estar en un formato valido JSON o XML", exceptionThrown.getMessage());
}

但这并不能告诉我有关测试的任何信息

我需要验证我的方法是否返回了相应的异常,如下所示:

@Test
public void tryThrowExceptionForInvalidRequest() throws Exception{
    String invalid = "Este es un request invalido";
    assertIsThrown(InvalidInputRequestType.class, detector.detectForRequest(invalid));
}

我该如何测试?

塞巴斯蒂安·勒·马尔坎德

也许您可以尝试以下代码:

@Test
public void tryThrowExceptionForInvalidRequest() throws Exception {

    final String invalid = "Este es un request invalido";

    InvalidInputRequestType exceptionThrown = Assertions.assertThrows(
                InvalidInputRequestType.class,
                () -> { 
                    detector.detectForRequest(invalid); 
                }
        );
    assertEquals(invalid, exceptionThrown.getMessage());
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章