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

Ngoại hối: Kịch bản lỗi

Tài liệu của thư viện EuropeanCentralBankServer cho biết: nếu cố gắng quy đổi sang các loại tiền tệ mà ngân hàng không hỗ trợ, thư viện sẽ ném ra ngoại lệ sau:

new RuntimeException("Currency not in ECB list: " + currencyName)

Hãy viết một bài kiểm thử tích hợp để xác minh kịch bản lỗi này.

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

  • Điền biểu thức assert phù hợp để xác minh ngoại lệ là một instance của RuntimeException.
  • Dùng assert phù hợp để kiểm tra tính bằng nhau.

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.

class Main {
    public static void main(String[] args) {
        launchTestsAndPrint(ExchangeAppTest.class);
    }
}

class ExchangeAppTest {
    @Test
    void convert_throwsException_whenGetRateThrowsException() {
        EuropeanCentralBankServer bank = new EuropeanCentralBankServer();
        ExchangeApp exchangeApp = new ExchangeApp(bank);
        Exception expectedException = null;

        try {
            double result = exchangeApp.convertEuroTo("Invalid Currency", 1000);
        } catch (Exception e) {
        	expectedException = e;
        }
       	// Assert that the exception is an instance of the correct class
        ____(RuntimeException.class, expectedException);
        // Assert that the exception message is correct
        ____("Currency not in ECB list: Invalid Currency", expectedException.getMessage());
    }
}
Chỉnh sửa và Chạy Mã