Recentemente, ho iniziato a usare TDD. È davvero interessante e divertente, ma creare oggetti attesi per assertEquals
è molto noioso e noioso.
Al momento vedo solo due vie:
Semplice
Creare oggetti nel codice usando milioni di setter. Usando questo approccio una parte maggiore dei test sta creando l'oggetto previsto. Penso che non sia molto bello.
serializzazione
Scrivere l'oggetto previsto per esempio in JSON e quindi serializzarlo in prova. Non riesco a trovare svantaggi in questo modo eccetto la possibilità di uno stato incoerente tra i miei bean e i file di test.
Modifica
toString () ( @Kilian Foth commento )
Qualche tipo di serializzazione, ma penso che meriti attenzione. Definisci un toString () strettamente controllato e asserisci uguaglianza con una stringa letterale piuttosto che con un secondo oggetto.
Configurazione nel contenitore DI ( ispirato a @Spotted )
Mi sono ricordato di DI. Qualcuno configura il bean previsto in DI (Spring XML per esempio) e poi lo inietta per testare il metodo? È un approccio cattivo e poco efficiente o qualcosa di normale?
Esistono altre tecniche / approcci o strumenti speciali che possono accelerare tale processo?