A volte vedo parti di codice in funzioni che sospetto potrebbero essere modificate in un modo specifico in seguito, interrompendo la sua funzionalità. Ad esempio, la funzione A potrebbe essere modificata per chiamare la funzione B, ma non dovrebbe.
Dovrebbe esserci un test unitario che afferma che la funzione A non chiama la funzione B?
Il caso a cui sto pensando è un componente dell'interfaccia utente in un'applicazione web che chiama un'API utilizzando le richieste Ajax, tramite un livello. In un certo caso dovrebbe chiamare una funzione in questo livello e, in un altro caso, una funzione diversa.
La conseguenza di chiamare quella sbagliata, nel mondo reale, è che fallisce in modo asincrono. È solo che userà un po 'di larghezza di banda, tempo del server e renderà difficile il debug dei problemi poiché sembra che qualcosa non funzioni durante l'ispezione del comportamento della rete. Finché a un certo punto viene chiamato quello corretto, il widget funziona come previsto.