Ich schreibe einige Komponententests für die Persistenzschicht meiner C # .NET Anwendung. Bevor und nachdem die Tests einer Testklasse ausgeführt werden, möchte ich einige Bereinigungen durchführen, um möglicherweise eingefügte Dummy-Werte zu löschen . Daher geschieht diese Bereinigung in Methoden, die mit den Attributen [ClassInitialize()]
und% co_de gekennzeichnet sind %.
(Ich weiß, dass ein besserer Weg wäre, eine In-Memory-Datenbank zu verwenden, aber es ist nicht wirklich machbar, solange wir von vielen gespeicherten Procs abhängig sind ....)
Ich möchte einige Informationen über die Ergebnisse der Bereinigung ausgeben , aber ich kann keine Möglichkeit finden, die Ergebnisse in den Testergebnissen von VISUAL Studio 2010 zu erhalten.
Das mache ich bis jetzt:
%Vor%Ich versuche context.WriteLine () ...
zu verwendenIch habe auch versucht, Console.WriteLine () mit denselben Ergebnissen zu verwenden.
Wie schreibt man auf die Standardausgabe im [ClassCleanup()]
-Teil und wo kann man auf diese Ausgabe zugreifen?
Die [ClassInitialize]
und [ClassCleanup]
werden nur einmal für alle Tests in dieser Klasse ausgeführt. Sie sollten besser [TestInitialize]
und [TestCleanUp]
verwenden, die vor und nach jedem Test ausgeführt werden. Versuchen Sie auch, den vollständigen Test in einer Datenbanktransaktion zu verpacken. Auf diese Weise können Sie die Operation einfach rückgängig machen (indem Sie die Transaktion nicht festschreiben) und Ihre Datenbank bleibt in einem konsistenten Zustand (was für vertrauenswürdige automatisierte Tests unerlässlich ist).
Ein Trick für Integrationstests besteht darin, eine Basisklasse zu definieren, von der alle meine Integrationstestklassen erben können. Die Basisklasse stellt sicher, dass jeder Test in einer Transaktion ausgeführt wird und dass diese Transaktion zurückgesetzt wird. Hier ist der Code:
%Vor%Viel Glück.
Die Ablaufverfolgungsausgabe von ClassInitialize und ClassCleanup wird in der Ergebniszusammenfassung angezeigt.
Sie können darauf zugreifen, indem Sie Folgendes tun
Sie können die Konsolenausgabe bei jedem Test anzeigen, wenn Sie im Bereich Testergebnisse auf die Testmethode doppelklicken. Es ist auch in der .trx XML-Ergebnisdatei vorhanden.
Wenn Sie zusätzlich die "DEBUG-Konstante definieren" angeben, können Sie die %Code% .. was im Bereich "Ausgabe" endet.
Tags und Links c# unit-testing visual-studio-2010