Okay, ich bin fertig mit der Suche nach guten Informationen dazu. Ich habe eine Reihe von Komponententests, die eine statische Klasse aufrufen, die nach der Initialisierung Eigenschaften festlegt, die sich nicht ändern können (oder möchten).
Mein Problem ist, dass ich keine festgelegte Reihenfolge für die Ausführung der Tests erzwingen kann. Wenn ich könnte, könnte ich sie so ausführen, dass die statischen Eigenschaften zuverlässig festgelegt würden, und ich könnte sie bestätigen, aber leider führt das Microsoft.VisualStudio.TestTools.UnitTesting-Framework sie nur in einer scheinbar zufälligen Reihenfolge aus .
Also fand ich diese http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.priorityattribute.aspx, die im Abschnitt "Bemerkungen" lautet: "Dieses Attribut wird vom Testsystem nicht verwendet. Es wird dem Benutzer für benutzerdefinierte Zwecke zur Verfügung gestellt. " Huh? Was nützt es dann? Erwarten sie, dass ich meinen eigenen Test-Wrapper schreibe, um dieses fabelhafte Attribut zu nutzen (von dem ich mich leicht selbst schreiben könnte, wenn ich mich so anstrengen wollte ...)?
Also genug von der Schimpfe; Gibt es unter dem Strich eine Möglichkeit, die Reihenfolge zu steuern, in der meine Komponententests ausgeführt werden?
[TestMethod]
[Priority(0)]
usw. scheint NICHT zu funktionieren, was Sinn macht, da Microsoft sagt, dass dies nicht der Fall ist.
Bitte auch keine Kommentare zu "Verletzung der Isolation". Die Testklasse isoliert, was ich teste, nicht die einzelnen Testmethoden. Unabhängig davon kann jeder Test unabhängig und problemlos ausgeführt werden. Sie können nur nicht in zufälliger Reihenfolge zusammen ausgeführt werden, da die statische Klasse nicht heruntergerissen werden kann.
Oh, ich weiß auch über "Ordered Test" Bescheid.