2016-08-03 35 views
-1

I Gruppe von Tests müssen Kategorien unterteiltSo verwenden Filter mit --explore Befehlszeilenoption

[TestFixture] 
[Category("someCategory")] 
public class MyTestClass 
{ 
    [Test, TestCaseSource("TestData")] 
    public void MyTest(...) 
    { 
    } 
} 

Ich versuche Liste der Tests nach Kategorie über nunit3-console

nunit3-console.exe --explore:results myTests.exe --where:"cat == someCategory" 
mit gefiltertem zu erhalten

Es scheint jedoch, dass --where Option gilt only for running tests und die results Datei enthält eine Liste aller meiner Tests, nicht nur Tests mit der Kategorie "someCategory".

Wie kann ich eine gefilterte Liste bekommen?

Antwort

0

Der Where-Filter wird derzeit nicht für Tests verwendet. Es gibt eine issue to enable it for exploring tests. Fügen Sie Ihre Kommentare zusammen mit Ihrem Anwendungsfall hinzu, um die Sichtbarkeit/Priorität des Problems zu verbessern, wenn Sie es ändern möchten. Pull-Anforderungen sind ebenfalls willkommen;)

Als Workaround können Sie Ihre Tests mit Ihrer WHERE-Klausel ausführen und --labels=All hinzufügen, um die Tests auf der Konsole auszugeben. Die resultierende Liste wird in Notepad ++ ein wenig massieren müssen, aber es sollte Ihnen geben, was Sie brauchen.

+0

Danke für die Antwort. Ich versuche, die Testliste vor dem Ausführen der Tests zu erhalten. Der Befehl kine wird tatsächlich von C# -Code ausgeführt, ich möchte diese Informationen zur Laufzeit. – Guy

+1

Wenn dies der Fall ist, können Sie die NUnit.Engine-API möglicherweise direkt verwenden, die Filter hinzufügen und die Umgebung erkunden. Siehe Startcode im Problem. Einfacher, Sie könnten einen PR an NUnit senden, um es zu reparieren und einen CI-Build bis zur nächsten Veröffentlichung nächsten Monat zu verwenden :) –