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

Kiểm thử đơn vị: Thị trường ngoại hối

Hãy luyện tập tạo và lập trình mock trong bối cảnh ngân hàng! Hoàn thiện kiểm thử đơn vị cho ExchangeApp, ứng dụng sử dụng European Central Bank. Vì bạn đang kiểm thử logic convertEuroTo(), đừng mock chính nó. Thay vào đó, hãy mock phần phụ thuộc của nó để bạn có thể kiểm tra xem logic hoạt động đúng hay không!

Các gói JUnitMockito cần thiết đã được nhập sẵn cho bạn.

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

  • Tạo một mock cho EuropeanCentralBankServer.
  • Dùng cú pháp đúng để lập trình mock trả về 12345.0.
  • Xác nhận phép chuyển đổi tiền tệ trả về kết quả như mong muốn.

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) {
        launchMockitoTestsAndPrint(ExchangeAppTest.class);
    }
}

class ExchangeAppTest {
    @Test
    void convertEuroTo_convertsTST() {
        // Create a mock object for the EuropeanCentralBankServer
        EuropeanCentralBankServer bank = ____(EuropeanCentralBankServer.class);
        ExchangeApp exchangeApp = new ExchangeApp(bank);
        double euroAmount = 100;
        // Stub the mock to return a value for given input
        ____(exchangeApp.convertEuroTo("TST", 100)).____(12345.0);

        double tstAmount = exchangeApp.convertEuroTo("TST", euroAmount);

        System.out.println("Converted " + euroAmount + " EUR to " + tstAmount + " TST.");
        // Assert on the exact expected value of tstAmount
        ____(1234500, ____);
    }
}
Chỉnh sửa và Chạy Mã