Wie viel sollte jeder meiner Unit-Tests untersuchen? Ich habe zum Beispiel diesen Test
[TestMethod]
public void IndexReturnsAView()
{
IActivityRepository repository = GetPopulatedRepository();
ActivityController activityController = GetActivityController(repository);
ActionResult result = activityController.Index();
Assert.IsInstanceOfType(result, typeof(ViewResult));
}
und auch
[TestMethod]
public void IndexReturnsAViewWithAListOfActivitiesInModelData()
{
IActivityRepository repository = GetPopulatedRepository();
ActivityController activityController = GetActivityController(repository);
ViewResult result = activityController.Index() as ViewResult;
Assert.IsInstanceOfType(result.ViewData.Model, typeof(List<Activity>));
}
Offensichtlich, wenn der erste Test fehlschlägt, dann wird auch der zweite Test so sollten diese beiden in einen Test mit zwei Asserts kombiniert werden? Meiner Meinung nach lassen sich die Ursachen von Fehlern umso schneller finden, je granularer die Tests sind und je weniger jeder Test überprüft. Es gibt jedoch einen Overhead bei einer großen Anzahl von sehr kleinen Tests, der bei der Ausführung aller Tests Zeit kosten kann.