Perdona il titolo: ha bisogno di lavoro. Sto lottando per trovare un inglese migliore per esprimere il mio problema. Modifiche consigliate.
Esempio per descrivere il mio problema:
Metodo Checker
Ho un metodo di controllo degli argomenti chiamato public static void StringArgs.checkIndexAndCount(String, int, int)
. Dato una stringa, un indice e un conteggio, conferma che la stringa non è nullo e l'indice & i conteggi sono ragionevoli. Le eccezioni non selezionate (runtime) vengono utilizzate per segnalare errori. C'è una batteria di test unitari scritti per verificare tutti gli angoli di questo metodo.
Metodo stratificato (o derivato)
Il metodo di controllo è chiamato da altri metodi, come public static String removeByIndexAndCount(String, int, int)
. La prima riga di questo metodo controlla gli argomenti chiamando il checker sopra.
Strategia test unità
Quando scrivo i test unitari per il metodo secondo / stratificato / derivato, come faccio a tenere conto dell'insieme esistente di test unitari per il metodo di controllo? Sembra violare i principi di duplicazione / copia-incolla per aggiungere nuovamente gli stessi test di unità (leggermente modificati) dal metodo di controllo al secondo metodo.
Si prega di avvisare.
Il mio codice è Java, ma non penso che sia particolarmente rilevante, poiché questo stesso problema potrebbe verificarsi in qualsiasi lingua.