开始使用免费开始使用

处理异常:消息处理

正如使用和处理异常是编写代码不可或缺的一部分,测试这些异常对项目测试同样至关重要。

在本练习中,您将练习 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());
    }
}
编辑并运行代码