2009-03-30 18 views
23

ich auf einem Test ein Attribut hinzufügen können, um es zu ignorierenNUnit alle Tests ignorieren

[Test] 
[Ignore("Foo Bar")] 

Gibt es eine Möglichkeit alle Tests in einer Datei zu ignorieren (am TestFixture Ebene)?

Antwort

-6

Wenden Sie das TextFixture-Attribut einfach nicht auf die Klasse an.

+18

Durch das Attribut nicht bewerben Sie sich die Tatsache zu ignorieren sind, dass es Testmethoden innerhalb dieser Klasse, die nicht aus einem Grund getestet werden. Sie sollten [TestFixture, Ignore ("Grund")] verwenden, um die Ausgabe der Testergebnisse mit einem Grund zu versehen, warum sie ignoriert werden. Das Löschen/Entfernen des Objekts verschleiert den Grund, wenn es wahrscheinlich sinnvoll ist, dies anderen Entwicklern zu vermitteln. –

+2

+1 @Chris ... Ignore Attribut übermittelt den Zweck viel deutlicher. – karlgrz

+0

Dies ist falsch wie von NUnit 2.5, das TestFixture Attribut ist in den meisten Fällen optional - http://www.nunit.org/index.php?p=testFixture&r=2.5 – ferventcoder

0

Das Entfernen des [TestFixture] Attributs aus der Klasse scheint zu funktionieren.

Bearbeiten: Diese Antwort wurde falsch beginnend mit NUnit 2.5, wenn das [TestFixture] Attribut für nicht parametrisierte nicht-generische Fixtures optional wurde. Siehe here für mehr.

1

Sie können das gesamte TestFixture "on-demand" mit dem Attribut [Explicit] machen. Dann ist es da, wenn Sie es wollen, aber nur, wenn Sie es explizit anklicken.

8

Wie vorgeschlagen, funktioniert das Attribut [Explicit] gut. Sie können auch einfach legen Sie das [Ignore()] Attribut unter dem [TestFixture] Attribut, wie in der Dokumentation gezeigt:

http://www.nunit.org/index.php?p=ignore&r=2.5

Verwenden [Ignore()], wenn Sie den Test als ignoriert markiert werden soll (und daher erhalten Sie die gelbe Leiste, wenn alle andere Tests bestehen). Verwenden Sie [Explicit], wenn Sie möchten, dass der Test vollständig abgezinst wird (und Sie daher den grünen Balken erhalten, wenn alle anderen Tests bestanden werden).

59
[TestFixture, Ignore("reason")] 
public class YourTestFixture { } 

Oder wenn Sie es vorziehen, Ihre Attribute, um eine pro Zeile zu brechen:

[TestFixture] 
[Ignore("reason")] 
public class YourTestFixture { } 
+1

@leora, das ist die richtige Antwort ... sollte akzeptiert sein. –

+2

Dies ist die beste Antwort. Die aktuell akzeptierte Antwort ist technisch ebenfalls korrekt, lässt aber einen toten Code übrig, den Sie nicht kennen (Grund ist in den Kommentaren zu dieser Antwort). Bei neueren Versionen von NUnit 2.5+ ist die angenommene Antwort tatsächlich falsch, da das TestFixture-Attribut optional ist. Siehe http://www.nunit.org/index.php?p=testFixture&r=2.5 – ferventcoder