Ho un test unitario di base (per il campione) che coinvolge questo codice:
void testShouldCreateACar() {
Car car = someone.createFerrari();
assertTrue(car.name == "Ferrari"); // can't access name since name is private
}
Non riesco ad accedere a name
poiché non esiste un getter in Car
(o Ferrari
) per esso.
Non voglio creare getter solo per scopi di test unitari.
Si noti che il SUT è fuori dal pacchetto dell'auto (pacchetto distinto).
Nota anche che il costruttore di Ferrari
è private
(creazione accessibile solo attraverso il metodo createFerrari()
su someone
.
Che cosa è una buona pratica per ottenere questa affermazione?