Introduzione al Testing in Java
Maria Milusheva
Senior Software Engineer


Unit test:
Test di integrazione:
Supponiamo di creare un’app di cambio valuta:
public class ExchangeApp { private EuropeanCentralBankServer bank; // Consente a ExchangeApp di usare il server della banca public ExchangeApp(EuropeanCentralBankServer bank) { this.bank = bank; // Salva l'oggetto passato dal costruttore }public double convertEuroTo(String currency, double amount) { double rate = this.bank.getRateEuroTo(currency); return amount * rate; // Usa i valori restituiti dal metodo della banca nei calcoli } }
I test di integrazione verificano sia il metodo convertEuroTo sia EuropeanCentralBankServer:
@Test void convert_convertsWithoutError() { EuropeanCentralBankServer bank = new EuropeanCentralBankServer(); ExchangeApp exchangeApp = new ExchangeApp(bank); // Passa l'oggetto bank al costruttoredouble amount = 1000.0; String currency = "USD"; // convertEuroTo chiama getRateEuroTo dall'oggetto bank double result = exchangeApp.convertEuroTo(currency, amount); assertTrue(result > 0); // Valore esatto imprevedibile: fai solo un sanity check }
Introduzione al Testing in Java