Ultimamente sto scrivendo molti test unitari e sono diventato un po 'ossessionato dalla copertura del codice. Tuttavia, sto lottando per giustificare la copertura del 100% del codice, quando così tanti test sarebbero ridondanti e ingigantire davvero i miei test unitari.
Ad esempio, immagina un endpoint cliente di un'API. L'utente pubblica un ID cliente, la sua posizione e alcuni dati. Sembra /api/customers/:locationId/:customerId
.
Ecco un esempio di snippet di copertura del codice proveniente da Instanbul, sto usando Node.js:
La prima mancanza, non riuscendo ad aggiornare il cliente, è qualcosa che dovrebbe assolutamente essere testato. Ma gli ultimi 2, non riuscendo a trovare la posizione e il cliente, sono presenti su quasi ogni endpoint. Devo davvero passare in una posizione errata, e quindi un cliente sbagliato, per ognuno degli endpoint (creare, aggiornare, cancellare, ecc.)? O dovrei semplicemente vivere con chi non è coperto?