我有一个DocumentTypeDetector
类,它有一个DetectForRequest()
方法。我正在做相应的测试,但是我还不能验证是否抛出了定制的异常,我使用的是JUnit5。
我已经复习了这里,但答案并没有帮助我,这是我根据一个示例编写的代码:
@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());
}
如何使用JUnit5测试抛出NullPointerException的方法。但是我在方法中捕获到了这个异常,因此test以错误结尾:“Expected java.lang.NullPointerException to be thrown,But nothing was thrown”。 谢谢
我用Spock测试Java代码。我测试这段代码: 我写了一个测试: 它失败是因为抛出了另一个CustomException。但是在块中,我捕获这个异常并抛出一个,因此我希望我的方法将抛出,而不是。如何测试它?
我正试图为一个方法编写一个测试用例,该方法基于特定的逻辑抛出异常。然而,测试用例失败了,因为预期的异常和获得的异常是不同的。 我如何解决这个问题?
版本: 我得到以下错误:
我知道一种方法是: 有什么更干净的方法吗?(可能使用JUnit的?)
我有一个方法: 这是用户授权测试的样子: 有没有办法检查用户输入错误密码的情况?因为在我发送错误密码的情况下,它不起作用,因为 使在你检查密码之前返回结果。