2017-05-21 1 views
0

Ich arbeite an einer .NET-Lösung mit vielen Testprojekten, die einen Post-Build-Schritt verwendet, um alle Ausgaben der Lösung in einen anderen Ordner zu verschieben der einzige Ort, der für meine Tests zugänglich ist.Wie macht Nunit-Konsole alle Assemblies an einem nicht standardmäßigen Speicherort zu finden

Beim Ausführen von Nunit-Konsole kann ich die verschiedenen Projekte DLLs angeben, aber dann muss ich jedes ... Ich würde lieber nur die Lösung selbst angeben, kann aber nicht wie die Projekte angegeben OutputPath unterscheidet sich von der eigentlichen DLL Standorte.

Alternativ habe ich versucht, mit einer NUnit-Projektdatei zu arbeiten, aber es scheint, als müsste ich jeden Assembly-Speicherort angeben - ich frage mich, ob es einfacher ist, nunit auf einen bestimmten Ort für alle Assemblies zu verweisen.

:

an dem NUnit docs sucht es, wie ich scheint in der Lage sein sollte, das Config-Element zu definieren, das binpath Attribut zu verwenden, wobei es jedoch ohne mindestens ein Montageergebnis einschließlich in Fehler „Datei nicht unterstützt Typ“ enter image description here

Antwort

0

Sie haben nicht die Engine-Erweiterung installiert, die in der Lage ist, Nunit-Projekte zu interpretieren. Sie können ihn unter nuget.org finden: https://www.nuget.org/packages/NUnit.Extension.NUnitProjectLoader/

Darüber hinaus Ihre nunit Projektdatei ein paar Dinge falsch mit ihm hat:

  1. Es keine Testanordnungen auflistet! Sie müssen aufgelistet sein, um ausgeführt zu werden.

  2. Sie weisen NUnit an, einen absoluten Pfad für den privaten binpath zu verwenden und automatisch den privaten bin-Pfad abzuleiten, der die Standardeinstellung ist.

  3. Sie sollten Ihre .nunit-Datei im Basisverzeichnis mit den Assemblies suchen und nur relative Pfade für jede Assembly verwenden.

Hier ist ein Beispielprojektdatei mit den minimalen setings Sie brauchen:

<NUnitProject> <Config name="Default"> <Assembly path="my.test.dll"/> ... </Config> </NUnitProject>

Ein solches Projekt einfach in der Quelle und im Einsatz an den Testort zusammen mit allen Baugruppen aufgenommen werden könnten .

+0

Eigentlich, wenn ich mindestens eine Test-Assembly auflisten funktioniert es wie erwartet (also ich denke es ist kein fehlendes Erweiterungsproblem, nur minimale Anforderung für Nunit-Projektdatei zu laden), die eigentliche Frage ist, ob ich Listing spezifisch weglassen kann Assemblies und fragen Sie einfach nach allen relevanten Assemblies, die an einem bestimmten Ort zu finden sind und nicht wie in den C# solution/project-Dateien aufgeführt, die als die Eingaben der nunit3-Konsole aufgelistet sind. – Roy

+0

Nein, mit der Nunit-Projektdatei können Sie Ihre Baugruppen zusammen mit bestimmten Optionen zum Laden auflisten. Es zielt nicht darauf ab, alle Assemblies in einem Verzeichnis zu finden. – Charlie

Verwandte Themen