Supponiamo di avere componente A
, B
, C
che tutti mettono alcuni dati in un database. Ogni componente dipende dai dati nel database inserito dal componente precedente.
Come faccio a testare questi moduli da soli? Ho già dei test a livello di unità, ma ora voglio testare con il database. Ho visto dei suggerimenti per fare un dump del database per ogni passaggio, ma questa è una cosa disordinata da controllare per il controllo della versione e richiede un sacco di sforzo ogni volta che l'architettura cambia (che dove lavoro si traduce in "abbandonare i test!") .
Penso davvero che l'approccio migliore sia quello di svuotare il mio database di test prima di eseguire test e utilizzare alcuni strumenti per specificare le dipendenze di test per garantire il corretto ordine di esecuzione, ma questo sembra essere seriamente disapprovato dalle opinioni che ho letto. Per me sembra lo stesso di usare una fixture per ogni passo, tranne per il fatto che la fixture è solo un modo economico per nascondere la dipendenza.