Ich suche nach einer guten Möglichkeit, meine Komponententests in einem .NET-Projekt zu organisieren. Im Moment habe ich eine TestClass
pro Anwendungsklasse mit mehreren Tests für jede Methode. Obwohl ich TestCategory
verwende, um jedes TestMethod
durch die Anwendungsklassenmethode zu kategorisieren, die er prüft, wird das Finden meiner Testmethoden unbeholfen.Testklassen in Teilklassen aufteilen?
Ich überlege, meine Testklassen in Teilklassen aufzuteilen - eine Teilklasse pro Anwendungsklassenmethode. Das bedeutet, dass ich mehrere TestMethod
in einer dedizierten Datei pro Methode haben kann, ohne eine große Datei durchsuchen zu müssen, um sie zu finden.
Gibt es irgendwelche Nachteile bei diesem Ansatz? Gibt es bessere Möglichkeiten, große Testklassen in .NET und Visual Studio zu behandeln?
Edit: Ich verwende IoC (wir verwenden Castle.Windsor für DI außerhalb der Tests) und wir verwenden Moq für Mocking-Funktionen. Tests werden mit TestInitialize
initialisiert.
Sie können für jede Methode eine Testklasse erstellen. Zum Beispiel haben Sie Klasse C1 mit den Methoden M1 und M2. Erstellen Sie 2 Testklassen 'C1_M1_Test' und' C1_M2_Test'. –
Sie können Ihre getesteten Klassen in mehrere kleinere Klassen aufteilen, anstatt Ihre Tests zu teilen. – Carra
@Carra Nein ... eine Methode kann mehrere Tests haben. Wenn eine Klasse drei Methoden hat und jede Methode sechs Tests hat ... das sind achtzehn Tests in einer Testklasse. Das Ändern der Anwendungsklassen befasst sich nicht wirklich mit dem Problem - es geht um das Wachstum auf der falschen Seite der Gleichung. –