2013-05-29 5 views
8

Я настраиваю TeamCity для запуска некоторых тестов NUnit, TeamCity сообщает, что весь тест проходит, но он сообщает сборку как сбой с сообщением об ошибке «Состояние новой сборки: Ошибка NUnit, {build.status.text} '. Вникая в журнал сборки, я вижу, что при загрузке тестируемой программы происходит сбой, вот сообщенная ошибка;TeamCity NUnit шаг сборки не работает, хотя все тесты проходят

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

Итак, почему файл не может быть загружен? Интересно? Все тесты прошли так, почему этот файл даже нужно загружать сейчас?

Я экспериментировал с настройкой среды выполнения .NET для x86 на этапе сборки NUnit, но безрезультатно.

Окружающая среда: Windows 7, VS 2012 Обновление 2, компиляция в .NET 4.0, NUnit 2.6.2, TeamCity 7.1.

+0

Имея ту же проблему. Разочарование. – autonomatt

ответ

6

Если это все еще активно;
Это довольно ясно ошибка:

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. Вы должны создать шаг сборки для компиляции тестов

  2. Создать еще один шаг сборки NUnit и пройти путь к файлу сборки можно использовать подстановочные знаки, более info https://stackoverflow.com/a/16629676/1075077 здесь.

+1

Ответ на правильный ответ, в частности вам нужно запустить DLL из папки/bin, а не в папку/obj, которая будет неудобно выполнять команды, если вы не являетесь явным с этим путем. Благодарю. –

+0

# 2 правильно вовремя. Я заметил в документации (https://confluence.jetbrains.com/display/TCD7/NUnit), что упоминал, что вы можете поместить это в раздел «Игнорировать». Похоже, что это значение должно быть дефолтом в TeamCity. –

+0

Ну :) если вам нравится ответ, поддержите его :) –

Смежные вопросы