2013-05-29 16 views
8

Przygotowuję TeamCity do przeprowadzenia niektórych testów NUnit, TeamCity zgłasza, że ​​wszystkie testy przechodzą, ale zgłasza kompilację jako niepowodzenie z komunikatem o błędzie "Stan nowej kompilacji to:: Błąd NUnit, {build.status.text} ". Kopiowanie do dziennika kompilacji Widzę, że nie można załadować testowanego programu, oto zgłoszony błąd;Awaria procesu TeamCity NUnit, mimo że wszystkie testy kończą się

 
[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) 

Dlaczego więc nie można załadować pliku, zastanawiam się? Wszystkie testy minęły, więc dlaczego ten plik musi być teraz załadowany?

Eksperymentowałem z ustawianiem środowiska wykonawczego .NET na x86 w kroku kompilacji NUnit, bez rezultatu.

Środowisko: Windows 7, VS 2012 Update 2, kompilacja do .NET 4.0, NUnit 2.6.2, TeamCity 7.1.

+0

Posiadanie tego samego problemu. Denerwujący. – autonomatt

Odpowiedz

6

Jeśli to nadal jest aktywne;
Jest to całkiem jasne błąd:

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. Trzeba stworzyć build krok do opracowania testów

  2. utworzyć kolejny etap budowania NUnit i przekazać ścieżkę do pliku zespołu można użyć symboli wieloznacznych, więcej info https://stackoverflow.com/a/16629676/1075077 tutaj.

+1

Odpowiedź powiązana z jest poprawna, konkretnie musisz uruchomić bibliotekę dll z folderu/bin, a nie folderu/obj, co teamcity irytująco zrobi, jeśli nie jesteś jednoznaczny ze ścieżką. Dzięki. –

+0

# 2 jest na czas. Zauważyłem w dokumentacji (https://confluence.jetbrains.com/display/TCD7/NUnit), że wspomniał, że możesz umieścić to w sekcji "Ignoruj". Wygląda na to, że wartość powinna być domyślnie ustawiona w TeamCity. –

+0

No cóż :) jeśli podoba ci się odpowiedź, przekaż ją :) –

Powiązane problemy