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 JUnit và Mockito 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
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, ____);
}
}