2014-07-02 12 views
6

Ich versuche TeamCity für ein Projekt einzurichten. Ich möchte einen geplanten Build ausführen, der einen Schritt enthält, in dem NUnit-Tests ausgeführt werden.Teamcity NUnit Tests - Keine Baugruppen gefunden

Mein NUnit bauen Schritt sieht wie folgt aus:

Runtime: NUnit-2.6.3 v4.0 MSIL 
Run tests on: **/Tests/*.dll 
Execute: If all previous steps finished successfully 

Aber jedes Mal, wenn ich den Build ausführen Ich erhalte eine Fehlermeldung, dass:

No assemblies were found.

, warum dies geschieht und wie kann ich das beheben es? Außerdem wird dieser Build-Schritt konzeptionell vor der tatsächlichen Erstellung des Projekts ausgeführt. Aber wie wird es Test-DLLs (Assemblies) geben, wenn das Projekt überhaupt nicht gebaut wird?

+0

Haben Sie auf Ihrem Build Agent verifiziert, dass diese Verzeichnisse tatsächlich existieren und Dateien haben? Und nein, Sie können die Tests nicht ausführen, bevor sie gebaut wurden? Warum hast du es so eingerichtet? –

+0

Der Agent ist lokal. Und ja, die DLLs existieren im verwendeten Verzeichnis. – ritratt

+0

Nur um sicherzustellen, fügen Sie einen Befehlszeilen-Build-Schritt vor dem Testschritt hinzu und fügen Sie diesen Befehl hinzu: 'dir/s', dann führen Sie dies aus und sehen Sie, was das Build-Log sagt. Siehst du deine Test-DLL? –

Antwort

10

Ich würde vorschlagen, dass Sie Ihre Projekte vor dem Ausführen von Tests erstellen. Der gängigste Weg, um dies zu erreichen, ist, dass Sie separate Konfigurationen für den Bau von Code und für die Ausführung von Tests haben.

Ihre Build-Konfiguration würde Artefakte erzeugen (die Baugruppen am wahrscheinlichsten enthalten).

Die Konfiguration des Testlaufs würde dieses Artefaktpaket über die Artefaktabhängigkeit extrahieren, dann führen Sie im Buildschritt Tests von bestimmten Assemblys aus.

Dies ist der gebräuchlichste Ansatz und mit diesem Ansatz müssen Sie sich keine Gedanken über Dateien im Dateisystem machen. Die Snapshot-Isolation und Artefacts-Abhängigkeiten von Teamcity kümmern sich darum (wenn sie richtig konfiguriert sind)

Wenn Sie ein Beispiel benötigen, wie Sie dies erreichen können, lassen Sie es mich wissen.

+0

Das hat funktioniert. Ich hatte vergessen, einen separaten Schritt für den Bau des Projekts (MSBuild, VS sln build usw.) zu integrieren. – ritratt

+0

@Dejan können Sie ein Beispiel oder einen Link mit einem solchen Beispiel von dem, was Sie in Ihrer Antwort beschrieben? Ich denke, das ist genau das, was ich brauche, aber ich bin ziemlich neu in Teamcity und nicht sicher, wie man verschiedene Konfigurationen macht. – stt106

+0

Ich weiß nicht, warum ich dieses Problem nicht hatte, als ich es zum ersten Mal aufsetzte und als ich es tat, warf es mich für eine Weile ab. Aber ja, die Tests hängen von anderen Projekten ab, die zuerst gebaut werden. +1 – Mukus

Verwandte Themen