È una buona idea avere set di dati individuali / univoci per ogni test di integrazione o tutti i test dovrebbero riutilizzare gli stessi dati? La mia idea di avere set di dati individuali per ogni test è di avere più controllo per ogni test per rendere più semplice l'aggiornamento dei vecchi test e l'implementazione di nuovi dati. Invece di assicurarmi che i nuovi dati per un nuovo test non interferiscano con i vecchi dati / test, posso semplicemente aggiungere un nuovo set di dati che sarà usato solo dal mio nuovo test. Per me ha senso, ma leggendo i test di integrazione / servizio sembra che la maggior parte (tutti?) Stia utilizzando gli stessi dati per tutti i test.
La mia più grande ragione per avere set di dati univoci per ogni test è perché voglio scrivere test per un'architettura di microservice e assicurarmi di ottenere ID univoci uguali in tutti i DB che si rivelano un po 'disordinati. Se avessi set di dati individuali, potrei seguire AAA:
// Assign
Mock up database, could be CSV files loaded into an in memory-db.
// Act
Make a call to the endpoint I want to test, could be done through for example MSTest, Webtest or POSTMAN
// Assert
Make sure that the response contains the data I wanted.
Nel caso precedente, il CSV sarebbe quindi i set di dati. Quindi ogni test avrebbe ottenuto singoli file CSV che sarebbero stati usati per seminare il DB prima di eseguire il test.