Bắt đầu ngayBắt đầu miễn phí

Xử lý ngoại lệ: Xử lý thông điệp

Cũng như việc sử dụng và xử lý ngoại lệ là một phần không thể thiếu khi viết mã, kiểm thử các ngoại lệ này cũng rất quan trọng đối với việc kiểm thử dự án của bạn.

Trong bài tập này, bạn sẽ luyện tập cú pháp assertion kiểm tra thể hiện lớp (class instance) của JUnit. Bạn được cung cấp một phương thức chuyển một chuỗi sang chữ hoa, nhưng ném ra RuntimeException tùy chỉnh nếu chuỗi là null. Nhiệm vụ là viết các unit test cho phương thức đó.

Bài tập này là một phần của khóa học

Nhập môn Kiểm thử trong Java

Xem khóa học

Hướng dẫn bài tập

  • Khẳng định rằng thông điệp đã được chuyển sang chữ hoa trong bài kiểm thử kịch bản thành công.
  • Dùng đúng loại assertion để xác minh ngoại lệ được ném ra là một thể hiện của lớp RuntimeException.
  • Nhập lớp ngoại lệ kỳ vọng.
  • Dùng assertion phù hợp để xác minh thông điệp của ngoại lệ.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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());
    }
}
Chỉnh sửa và Chạy Mã