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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top