Prima di tutto non sono sicuro se ho scelto il nome giusto per la mia domanda, non sono sicuro se sono test funzionali o integrazione (o altro). Sto parlando di test che test (o dovrebbe) l'app da una richiesta http al database.
Con semplici controllori in cui interrogano il db per alcuni dati è abbastanza facile testarli. Il problema arriva quando le cose si complicano. Quando gli eventi sono sparati e ci sono pochi ascoltatori, che inviano e-mail, creano pdf, fanno chiamate API. Qual è la migliore pratica in questo caso? Prendi in giro questi eventi e assicurando dai test funzionali che vengono chiamati con i giusti parametri? e unità testare gli eventi e gli ascoltatori? o è più sicuro lasciarli sparare agli eventi e vedere se il risultato è quello previsto?
In altre parole i test funzionali e unitari dovrebbero funzionare insieme e dovrebbero basarsi l'uno sull'altro?
LE: Non sto cercando di vedere i vantaggi dell'unità rispetto all'integrazione, voglio solo vedere come fanno gli altri negli scenari di cui sopra.