Uji unit: Pasar valuta asing
Mari berlatih membuat dan memprogram mock dalam konteks perbankan! Lengkapi uji unit untuk ExchangeApp, yang
menggunakan European Central Bank. Karena Anda sedang menguji logika convertEuroTo(), jangan memock method tersebut. Sebagai gantinya, mock dependensinya agar Anda dapat memeriksa apakah fungsinya berjalan dengan benar!
Paket JUnit dan Mockito yang diperlukan telah diimpor untuk Anda.
Latihan ini adalah bagian dari kursus
Pengantar Pengujian di Java
Petunjuk latihan
- Buat mock untuk
EuropeanCentralBankServer. - Gunakan sintaks yang benar untuk memprogram mock agar mengembalikan
12345.0. - Verifikasi bahwa konversi mata uang menghasilkan keluaran yang diinginkan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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, ____);
}
}