NUnit-3.2.1 + TeamCity: Konnte nicht geladen, Datei oder assembly " nunit.Rahmen"
Habe ich kürzlich aktualisiert, um TeamCity 9.1.6, um mein neues unit-tests basierend auf NUnit 3.2.1. Aber jetzt bin ich Probleme beim ausführen der tests:
Habe ich ausgewählt NUnit3 Testamentsvollstrecker in build-Schritte, konfiguriert es entsprechend:
Beim erstellen bekomme ich einen Fehler: "Konnte nicht geladen, Datei oder assembly" nunit.Rahmen' oder eine Ihrer Abhängigkeiten. Das system kann nicht die angegebene Datei gefunden werden.".
Alles sollte gut sein, die Wege sind gut, die Montage ist in der Pfad der Test-assembly, alles ist bereits eingebaut AnyCPU-Konfiguration.
Es gibt auch die Fehlermeldung, die besagt, dass NUnit-version ist nicht die version, die ich denke, ist bullshit, es ist ein release auf NUnit-website. Und der Fehler scheint nicht, etwas zu brechen (es war vorhanden, auch wenn ich ein Fehler hatte, bevor die " nunit.framework " Fehlermeldung, und wenn ich Feste, dass man die bauen immer weiter).
Führt dankbar!
UPDATE:
Ausführung von tests unter Verwendung einer Befehlszeilen-Läufer und laufen, die gleichen nunit3-console.exe funktioniert einwandfrei. Also ich denke, das ist eine NUnit runner-spezifisches problem. Noch, Vorschläge sind willkommen, wie dieses Problem zu beheben.
UPDATE 2:
Ich habe versucht, Downgrade sowohl das Lösungspaket und der NUnit-Console verwendet, die von TeamCity auf 3.0.0 - trotzdem dasselbe Ergebnis.
UPDATE 3:
Wie ich schon vermutete, TeamCity support bestätigt, dass die Nachricht über den "NUnit-version nicht unterstützt wird" ist eine fehlerhafte ein, und sollten nicht auf irgendetwas.
- Es ist immer noch ein Problem mit 10.x und es ist ein problem, da der build fehlschlägt.
- Das ist traurig. Ich bin immer noch effektiv Problemumgehung zu verwenden, obwohl. Habe keine Zeit, neu und versuchen Sie die no-workaround-Lösung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem mit TeamCity 10.0.1 (build 42078) und NUnit 3.4.1.
Und es war ganz meine Schuld. Ich bin Entsendung es hier, als jemand anderes stolpern können in das gleiche problem, und diese können sparen Sie einige Zeit.
Es stellte sich heraus, dass das problem war in der
"Run tests from: "
Einstellung in meinem build-Konfiguration.Hatte ich
**\*.Test.dll
. Das war versehentlich Kommissionierung bis dlls für\obj\**\
Verzeichnisse (wo es keine nunit.framework.dll vorhanden). Sobald ich die Einstellungen geändert zu**\bin\%BuildConfiguration%\*.test.dll
hat alles Prima funktioniert.Hinweis: %BuildConfiguration% ist ein parameter, der angibt, Ihren bevorzugten build-Konfiguration auf dem TC (wie z.B. Debug /Release /CIBuild etc.)
Nach einem längeren E-Mail-Diskussion mit TeamCity tech-support kamen wir zu einer Lösung. Ich habe mitgeteilt, dass Sie behoben haben dieses problem in der kommenden TC10 release (kommt irgendwo in der Ende Juni 2016), und jetzt gibt es ein paar workarounds, wird dieses Problem beheben.
Ich habe versucht, die Nummer zwei, und es funktionierte für mich.
Führen Sie tests nur in der verschachtelten Verzeichnisse relativ zu der checkout-Verzeichnis (zum Beispiel, könnten Sie Ihnen die Kopie vor)
Fügen Sie eine build-Konfiguration parameter
nunit_use_project_file
zuFalse
:Ist, ging ich auf mein test-Aufbau und die Ausführung von Projekten, ging der Parameter Abschnitt und fügte hinzu, die neuen parameter "nunit_use_project_file" als Falsch. Tests laufen jetzt unter NUnit3 build-Schritt-Läufer.
Wenn Sie nicht bereits haben Nunit3 und Nunit.Konsole(Läufer) in Ihren Paketen.config sollten Sie "installieren", um es in Ihrem Projekt mit dem Paket-Manager.
Dann Folgen Sie den Anweisungen in dieser anderen Antwort zum Thema erstellen "automatische Erkennung" Schritt für die Nunit.ConsoleRunner. https://stackoverflow.com/a/38862220/3794873