Ho ereditato un'applicazione che ha una serie di test che mi fanno impazzire. Ma una delle decisioni di progettazione che questa suite di test prende completamente mi lascia grattarmi la testa è la separazione dei test e le loro aspettative in file separati.
Per spiegare, ci sono test funzionali che hanno metodi di prova con decoratori. I test stessi eseguono il setup, eseguono la procedura di test e ogni eventuale demolizione, se necessario. Ma le aspettative per i test sono definite in file JSON o YAML separati. I decoratori sui metodi di prova fanno un po 'di magia per trovare il file delle aspettative e il set di dati appropriato per abbinare il metodo di prova.
Questo modello è anche usato per valori di input e fixture. Trovo che questo sia eccessivamente progettato, ma posso forse capire i valori di input e gli apparecchi esterni.
Questo mi fa impazzire perché se devo apportare una modifica logica, devo cercare tra più file per trovare i valori attesi e cambiarli. Ho sprecato giorni a cercare di sistemare la suite di test dopo che è stato effettuato un refactoring importante.
Voglio solo sapere se c'è un motivo valido per questo modello di progettazione. Non riesco a pensare a uno. Se qualcuno ha suggerimenti o informazioni sul motivo per cui questo modello è stato scelto o eventualmente prescritto, si prega di aggiungere collegamenti ad articoli, documenti e opinioni appropriati.