gpt4 book ai didi

java - 如何使用 JUnit Test 注释断言我的异常消息?

转载 作者:bug小助手 更新时间:2023-10-28 10:38:43 25 4
gpt4 key购买 nike

我已经编写了一些带有 @Test 注释的 JUnit 测试。如果我的测试方法抛出一个已检查的异常,并且如果我想将消息与异常一起断言,有没有办法使用 JUnit @Test 注释来做到这一点? AFAIK,JUnit 4.7 不提供此功能,但是否有任何 future 版本提供它?我知道在.NET 中你可以断言消息和异常类。在 Java 世界中寻找类似的功能。

这就是我想要的:

@Test (expected = RuntimeException.class, message = "Employee ID is null")
public void shouldThrowRuntimeExceptionWhenEmployeeIDisNull() {}

最佳答案

您可以使用 @Rule带有 ExpectedException 的注释,像这样:

@Rule
public ExpectedException expectedEx = ExpectedException.none();

@Test
public void shouldThrowRuntimeExceptionWhenEmployeeIDisNull() throws Exception {
expectedEx.expect(RuntimeException.class);
expectedEx.expectMessage("Employee ID is null");

// do something that should throw the exception...
System.out.println("=======Starting Exception process=======");
throw new NullPointerException("Employee ID is null");
}

请注意,ExpectedException 文档中的示例(当前)是错误的 - 没有公共(public)构造函数,因此您必须使用 ExpectedException.none()

关于java - 如何使用 JUnit Test 注释断言我的异常消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2469911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com