geben Sie NUnit-test zu laufen
Habe ich ein NUnit-Projekt eine Konsolenanwendung erstellen, die für die Durchführung von tests. Der Eintrag point sieht wie folgt aus:
class Program
{
[STAThread]
static void Main(string[] args)
{
string[] my_args = { Assembly.GetExecutingAssembly().Location };
int returnCode = NUnit.ConsoleRunner.Runner.Main(my_args);
if (returnCode != 0)
Console.Beep();
}
}
Was kann ich übergeben als argument, wenn ich laufen wollte diesem einen test NUR:
[TestFixture]
public class EmailNotificationTest
{
[Test]
public void MailerDefaultTest()
{
Assert.IsTrue(false);
}
}
Klar das dies unterstützt wird, und genauso klar habe ich keine Ahnung, wie es zu tun.
UPDATE
Sieht es aus wie mit v3+, dies ist möglich mit der --test
option, pro die Dokumentation.
Ich habe nicht verwendet die ConsoleRunner, aber es wahrscheinlich zu Ehren des
Für diejenigen, die für
[Explicit]
und [Category]
Attribute.Für diejenigen, die für
nunit3-console.exe
finden Sie unter stackoverflow.com/questions/37297838/...InformationsquelleAutor Jeremy Holovacs | 2011-11-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie markieren Sie Ihre Prüfung mit
[Category("RunOnlyThis")]
- Attribut, und dann sagen NUnit-tests nur mit diesem bestimmten Kategorie:ist das Attribut, das Sie hinzufügen müssen, Konsole runner Argumente. Mehr hier.
NUnit doc schweigt über das, würde ich vermuten Konsole runner nicht lassen Sie es dann. Mit dem im Verstand, würde ich gehen mit dem anbringen debugger - es ist ziemlich einfach, und Sie können herausfinden, wie zu tun, dass auf SO (zum Beispiel hier).
Ich landete mit einem
/fixture:EmailNotificationTest
und legte meinen test in der eigenen Klasse. Anfügen des Debuggers jedes mal, wenn ich etwas zwicken ist nervig... aber die Antwort scheint zu sein, "Sie können es nicht tun". Lame.InformationsquelleAutor k.m
Die neueste version (NUnit 3) gestattet das Debuggen von tests und auch angeben, test(s) für die Ausführung.
Debug
Den
--debug
option startet debugger zum Debuggen von tests, zum Beispiel:Filter-tests
Jetzt haben Sie eine Reihe von verschiedenen Möglichkeiten zu wählen test(s) auszuführen. Die erste option ist
--test=NAMES
. Kombinieren Sie diese option, und--debug
können Sie problemlos Debuggen nur ein test, zum Beispiel:Vergessen Sie nicht über den namespace auf, wenn die Klasse hat es.
Mit
--testlist=PATH
option, die Sie ausführen können alle Prüfungen in einer Datei, zum Beispiel:Gibt es auch
--where=EXPRESSION
option, die anzeigt, welche tests ausgeführt werden. Diese option ist beabsichtigt, zu erweitern oder ersetzen die früheren--test
,--include
und--exclude
Optionen. Bitte überprüfen Sie die offizielle Dokumentation wenn Sie mehr wissen wollen über diese option.NAMES
wirklich ist. Wie es aussieht, ist der voll qualifizierte Klassenname ?für die --testlist, wie geben Sie eine testlist gefunden in der DLL? ich bekomme immer unable to locate file error. Wo speichern wir diese test-Dateien?
mit nunit3 in C#, das Muster funktioniert für mich ist: --test="namespace.- Klasse-name.Methode-name". Auch die --debug-Schalter ist nicht notwendig für diese
InformationsquelleAutor Sergii Zhevzhyk
Als @Toto sagte, verwenden Sie die NUnit-Gui, können Sie wählen, und wählen.
Sie können fügen Sie visual studio, nunit, Ihre breakpioints werden erreichen. Ich mache es oft. Es gibt auch testdriven.net wich bietet den Rechtsklick-Funktionen in visual studio zu starten unit-Tests mit visual studio-debugger (wirklich nützlich).
InformationsquelleAutor kd7
Können Sie /run Schalter von NUnit-console angeben, den test, den Sie ausführen möchten.
Wie diese:
E. g.
InformationsquelleAutor digitguy
Einer Anwendung kommt mit NUnit, und kann die Anwendung starten Sie den test, den Sie möchten. Es ist wirklich nützlich, und Sie nicht haben, um code schreiben, test ausführen.
InformationsquelleAutor Toto