Test unitar: Piața valutară
Hai să exersăm crearea și programarea mock-urilor în contextul bancar! Completează testul unitar pentru ExchangeApp, care utilizează Banca Centrală Europeană. Deoarece testezi logica convertEuroTo(), nu o include în mock. În schimb, creează un mock pentru dependența sa, astfel încât să poți verifica dacă funcționează corect!
Pachetele necesare din JUnit și Mockito au fost deja importate pentru tine.
Acest exercițiu face parte din cursul
Introducere în testarea în Java
Instrucțiuni pentru exercițiu
- Creează un mock pentru
EuropeanCentralBankServer. - Folosește sintaxa corectă pentru a programa mock-ul să returneze
12345.0. - Verifică că operațiunea de conversie valutară returnează rezultatul dorit.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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, ____);
}
}