2013-05-29 4 views
8

Ich bin TeamCity einrichten, um einige NUnit-Tests auszuführen, TeamCity meldet, dass alle Tests bestehen, aber meldet den Build als Fehler mit der Fehlermeldung 'Neuer Build-Status ist:: NUnit-Fehler, {build.status.text} '. In das Build-Protokoll einlesen Ich kann sehen, dass es ein Fehler gibt, das zu testende Programm zu laden, hier ist der gemeldete Fehler;TeamCity NUnit Build Schritt fehlgeschlagen, obwohl alle Tests bestanden

 
[Step 2/2] NUnit error running tests in 'C:\TeamCity\buildAgent\work\f73bb9cce36ccd59\ProjectName.Web\ProjectName.BrowserTests\obj\Release\MyProject.BrowserTests.dll' assembly 
Loading assembly is compiled for v4.0.30319, MSIL 
NUnit runner runtime is v4.0.30319, x86 
System.IO.FileNotFoundException: Could not load file or assembly 'MyProject.Browser, Version=0.24.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. 
File name: 'MyProject.Browser, Version=0.24.0.0, Culture=neutral, PublicKeyToken=null' 

Server stack trace: 
    at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes) 
    at System.Reflection.RuntimeAssembly.GetExportedTypes() 
    at NUnit.Core.CoreExtensions.InstallAdhocExtensions(Assembly assembly) 
    at NUnit.Core.Builders.TestAssemblyBuilder.Load(String path) 
    at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites) 
    at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites) 
    at NUnit.Core.TestSuiteBuilder.Build(TestPackage package) 
    at NUnit.Core.SimpleTestRunner.Load(TestPackage package) 
    at NUnit.Core.ProxyTestRunner.Load(TestPackage package) 
    at NUnit.Core.ProxyTestRunner.Load(TestPackage package) 
    at NUnit.Core.RemoteTestRunner.Load(TestPackage package) 
    at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) 
    at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg) 

Also, warum kann die Datei nicht geladen werden, frage ich mich? Die Tests haben alle bestanden. Warum muss diese Datei jetzt geladen werden?

Ich habe experimentiert mit dem Setzen der .NET-Laufzeit auf x86 im NUnit-Build-Schritt, ohne Erfolg.

Umgebung: Windows 7, VS 2012 Update 2, Kompilieren zu .NET 4.0, NUnit 2.6.2, TeamCity 7.1.

+0

Haben das gleiche Problem. Frustrierend. – autonomatt

Antwort

6

Wenn dies noch aktiv ist;
Es ist eine ziemlich klare Fehler:

System.IO.FileNotFoundException: Could not load file or assembly 'MyProject.Browser, Version=0.24.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

  1. Sie haben Build-Schritt erstellen Tests Erstellen Sie Platzhalter einen anderen Build-Schritt NUnit und übergeben Weg zur Baugruppendatei

  2. zu kompilieren, mehr verwenden können, info https://stackoverflow.com/a/16629676/1075077 hier.

+1

Antwort verknüpft ist korrekt, speziell müssen Sie die DLL aus dem Ordner/bin und nicht den Ordner/obj ausführen, die Teamcity wird ärgerlich tun, wenn Sie nicht explizit mit dem Pfad sind. Vielen Dank. –

+0

# 2 ist genau pünktlich. Ich habe in der Dokumentation (https://confluence.jetbrains.com/display/TCD7/NUnit) festgestellt, dass es erwähnt, dass Sie das in den Abschnitt "Ignore" setzen möchten. Es scheint, dass dieser Wert in TeamCity voreingestellt sein sollte. –

+0

Gut :) Wenn Sie die Antwort mögen, upvote es :) –

Verwandte Themen