Nella progettazione di test di unità, è molto facile cadere nella trappola di chiamare solo la logica di implementazione.Progettazione di un robusto test dell'unità: test della stessa logica in molti modi diversi?
Ad esempio, se si verifica un array di int che dovrebbe essere tutti due più alti dell'altro (2, 4, 6, 8, ecc.), È davvero sufficiente ottenere il valore restituito dal metodo e affermare che questo modello è il caso?
Mi manca qualcosa? Sembra che un metodo di test di una singola unità debba essere reso più robusto testando la stessa aspettativa in diversi modi. Quindi l'aspettativa di cui sopra può essere asserita controllando che l'aumento di due stia accadendo, ma anche il prossimo numero è divisibile per 2. O è solo una logica ridondante?
Quindi, in breve, un'unità dovrebbe testare l'aspettativa in diversi modi? Per esempio, se volessi provare che i miei pantaloni mi si adattano, potrei/potrei misurare la lunghezza, metterla vicino alla mia gamba e vedere il confronto, ecc. È questo il tipo di logica necessaria per il test delle unità?
Grazie
_Per quanto sopra si può affermare controllando l'aumento di due sta accadendo ma anche il prossimo numero è divisibile per 2. O è solo logica ridondante? _ Questo è ridondante. E forse sbagliato - se la specifica dice "altri due", allora 5 7 è giusto. Ma 7 non è divisibile per due (uniformemente, yadda) –