Nel commento a questo fantastico post , Roy Osherove ha menzionato il progetto OAPT progettato per eseguire ciascuna asserzione in un singolo test.
Quanto segue è scritto nella home page del progetto:
I test unitari corretti dovrebbero fallire esattamente per una ragione, ecco perché dovresti usare un assert per unit test.
E, inoltre, Roy ha scritto nei commenti:
La mia linea guida è di solito che testi un CONCEPT logico per test. puoi avere più asserzioni sullo stesso oggetto . di solito saranno lo stesso concetto in fase di test.
Penso che ci siano alcuni casi in cui sono necessarie più asserzioni (ad esempio , Asserzione di guardia ), ma in generale cerco di evitarlo. Qual è la tua opinione? Fornisci un esempio del mondo reale in cui sono davvero necessari più asserzioni .
RowTestassert invece di (MbUnit) / TestCase(NUnit) per testare una varietà di comportamenti limite. Usa gli strumenti adeguati per il lavoro! (Sfortunatamente, MSTest non sembra ancora avere una capacità di test in fila.)
RowTeste TestCaseutilizzare origini dati di test . Sto usando un semplice file CSV con grande successo.