NUNIT -Test schlägt fehl, wenn Sie als Teil des größeren Namespace ausgeführt werden
-
22-10-2019 - |
Frage
Ich habe eine interessante Situation. In meiner Testbaugruppe habe ich Ordner mit spezifischen Testklassen, dh Testfixure. Betrachten Sie für z. B. die folgende Hierarchie in vs:
Sol TestProject TestFolder1 TestClass1 TestClass2 TestFolder2 TestClass3
Wenn ich nun Folgendes in der Befehlszeile ausführe:
nunit-console.exe /run:Sol.TestProject.TestFolder1.TestClass2 TestProject.dll
Die Dinge läuft gut und alle Tests gehen weiter. Aber wenn ich wie unten renne:
nunit-console.exe /run:Sol.TestProject.TestFolder1 TestProject.dll
In diesem Fall scheitern einige der Tests in TestClass2.
Ich habe versucht, den Zustand einiger der relevanten Objekte, die in den Test beteiligt sind, abzuwerfen, und der Staat schien in beiden Fällen zu Beginn des Testcode gut zu sein. Außerdem haben TestClass1/2/3 keine Superklasse etwas, das auch ausgeschlossen ist. Irgendwelche Ideen, was hier sonst noch passieren kann?
Ich verwende VS2010/.NET4.0 (4.0.30319.1)/Nunit 2.5.9.
Lösung
Schließlich herausgefunden. Ich benutzte a Singleton -Klasse zum Speichern bestimmter Optionen. Sieht so aus, als ob die Singleton -Klasse -Instanz zwischen den Läufen verschiedener Testfixturen (dh Testklassen), wenn sie zusammen ausgeführt werden, z. B. für einen Ordner oder für ein Projekt, erhalten bleiben. Ich habe den Zustand dieses Objekts anfangs nicht abgelegt, weil ich dachte, dass die Singleton -Klasse für jeden Testfixtures eine neue Instanz haben wird. Interessantes Ergebnis, hoffe, das hilft jemandem.