Warum wird TestInitialize für jeden Test in meinen Visual Studio-Komponententests ausgelöst?
Verwende ich Visual Studio 2010 Beta 2. Ich habe ein Einzelzimmer [TestClass]
die eine [TestInitialize]
[TestCleanup]
und ein paar [TestMethods]
.
Jedes mal eine test-Methode ausgeführt, der die Initialisierung und cleanup-Methoden werden AUCH ausgeführt!
War ich unter dem Eindruck, dass die [TestInitialize]
& [TestCleanup]
sollte nur einmal ausgeführt werden, gemäß den örtlichen Testlauf.
Ist das richtig? Wenn nicht, was ist der richtige Weg, dies zu tun?
InformationsquelleAutor der Frage Pure.Krome | 2009-12-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
TestInitialize
undTestCleanup
sind, lief vor und nach jedem test, dies ist, um sicherzustellen, dass keine tests gekoppelt sind.Wenn Sie möchten, führen Sie Methoden vor und nach ALLEN tests, dekorieren relevanten Methoden mit den
ClassInitialize
undClassCleanup
Attribute.Relevanten Informationen der automatisch generierten test-Datei in Visual Studio:
Können Sie die folgenden zusätzlichen Attribute, wie Sie schreiben Ihre tests:
InformationsquelleAutor der Antwort alexn
dies ist eher standard-Verhalten für test-Suiten: auf-und Abbau vor und nach jedem test. Die Philosophie ist, dass die Prüfungen sollten nicht voneinander abhängen. Wenn Sie möchten, dass ein anderes Verhalten, sollten Sie wahrscheinlich verwenden Sie statische Objekte, die bestehen zwischen jedem test.
InformationsquelleAutor der Antwort stijn
Vollständiges Beispiel
InformationsquelleAutor der Antwort Rodolpho Brock
Methoden, die markiert sind mit [TestInitialize ()] - Attribut verwendet werden, um vorzubereiten, Aspekte der Umgebung, in die Sie Ihre unit-test ausgeführt wird. Der Zweck ist, zu etablieren, die einen bekannten Zustand für Ihr Gerät zu testen. Sie können die [TestInitialize ()] - Methode zu kopieren, zu ändern, oder erstellen Sie bestimmte Dateien, die von Ihrem test verwenden.
Erstellen von Methoden, die markiert sind mit [TestCleanUp {}] - Attribut zur Rückgabe der Umgebung auf einen bekannten Zustand, nachdem ein test ausgeführt wurde. Dies könnte bedeuten, das löschen von Dateien in Ordnern oder auf der Rückfahrt von einer Datenbank zu einem bekannten Zustand. Ein Beispiel dafür ist die reset-ein Inventar-Datenbank auf einen Initialen Zustand nach der Prüfung eine Methode, die verwendet wird, in ein order-entry-Anwendung.
Weitere Informationen entnehmen Sie bitte :
http://msdn.microsoft.com/en-us/library/ms182517%28v=vs.100%29.aspx
InformationsquelleAutor der Antwort Pushkar Prabhu