处理异常:消息处理
正如使用和处理异常是编写代码不可或缺的一部分,测试这些异常对项目测试同样至关重要。
在本练习中,您将练习 JUnit 的类实例断言语法。给您提供了一个将字符串转换为大写的方法,但当字符串为 null 时会抛出自定义的 RuntimeException。您的任务是为其编写单元测试。
本练习是课程的一部分
Java 测试入门
练习说明
- 在成功场景的测试中,断言消息已被转换为大写。
- 使用正确类型的断言来验证抛出的异常是
RuntimeException类的一个实例。 - 输入异常的预期类。
- 使用正确的断言来验证异常消息。
交互式实操练习
通过完成这段示例代码来试试这个练习。
public class Main {
public static void main(String[] args) {
launchTestsAndPrint(MessageProcessorTest.class);
}
}
class MessageProcessorTest {
@Test
void processMessage_returnsUppercase() {
String message = "error!";
String expected = "ERROR!";
String actual = MessageProcessor.processMessage(message);
// Assert the message is converted to uppercase
____(expected, actual);
}
@Test
void processMessage_throwsException_whenMessageIsNull() {
String message = null;
Exception expectedException = null;
try {
MessageProcessor.processMessage(message);
} catch (Exception e) {
expectedException = e;
}
// Assert the correct type of exception
____(RuntimeException.class, expectedException);
// Assert the correct exception message
____("Message cannot be null.", expectedException.getMessage());
}
}