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
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());
}
}