Wir haben einige Integrationstests in unserer Lösung. Um diese Tests durchführen zu können, muss auf dem Entwickler-PC Simulationssoftware installiert sein. Diese Software ist jedoch nicht auf jedem Entwickler-PC installiert. Wenn die Simulationssoftware nicht installiert ist, sollten diese Tests übersprungen werden, andernfalls ==> NullRefException.Ignore Test oder TestFixture basierend auf Bedingung
Ich suche jetzt nach einer Möglichkeit, eine "Conditional Ignore" für Tests/Testfixtures zu machen. So etwas wie
if (simulationFilesExist) tun TestFixture sonst TestFixture
NUnit einige nützliche Dinge geben wie zu ignorieren und explizite überspringen aber das ist nicht ruhig, was ich brauche.
Dank
Danke für die schnelle Antwort! Aber das wird zu einem fehlgeschlagenen Test führen, nicht wirklich, was ich will. Die Tatsache, dass der Test nicht ausgeführt wurde, bedeutet nicht, dass er fehlgeschlagen ist (in meinem Fall). –
Nein. Assert.Fail führt zu einem fehlgeschlagenen Test. Assert.Ignore() macht genau das, was Sie tun wollen. Dies führt dazu, dass der Test zur Laufzeit ignoriert wird. Zitat aus der Dokumentation: "Die Assert.Ignore-Methode bietet Ihnen die Möglichkeit, dynamisch zu verursachen, dass ein Test oder eine Suite zur Laufzeit ignoriert wird." – tvanfosson
Sie haben Recht Tvanfosson. Wenn Sie die Testvorrichtung nur ausführen, wird dies als fehlgeschlagen angezeigt, aber wenn Sie eine Reihe von Testverbindungen alle zusammen ausführen, wird die Testvorrichtung weggelassen und das Endergebnis ist ERFOLGREICH !! Danke vielmals. –