TeamCity的NUnit的构建步骤失败,尽管通过了所有测试 [英] TeamCity NUnit build step failing although all tests pass

查看:190
本文介绍了TeamCity的NUnit的构建步骤失败,尽管通过了所有测试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我设立的TeamCity运行一些测试NUnit的,TeamCity的报告说,所有的测试通过,但报告的构建作为一个失败,错误消息新版本状态:NUnit的错误,{build.status.text }。
在深入了解构建日志,我可以看到,有一个失败的测试加载的程序,这里是报告的错误;


[步骤2/2] NUnit的错误运行测试中'C:\\TeamCity\\buildAgent\\work\\f73bb9cce36ccd59\\ProjectName.Web\\ProjectName.BrowserTests\\obj\\Release\\MyProject.BrowserTests.dll'部件
装载组件编译为v4.0.30319,MSIL
NUnit的亚军运行时间是v4.0.30319,86
System.IO.FileNotFoundException:未能加载文件或程序集MyProject.Browser,版本= 0.24.0.0,文化=中性公钥= null或它的一个依赖。该系统找不到指定的文件。
文件名:'MyProject.Browser,版本= 0.24.0.0,文化=中立,公钥=空'服务器堆栈跟踪:
   在System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly组装,ObjectHandleOnStack retTypes)
   在System.Reflection.RuntimeAssembly.GetExportedTypes()
   在NUnit.Core.CoreExtensions.InstallAdhocExtensions(组装组装)
   在NUnit.Core.Builders.TestAssemblyBuilder.Load(字符串路径)
   在NUnit.Core.Builders.TestAssemblyBuilder.Build(字符串的AssemblyName,布尔autoSuites)
   在NUnit.Core.Builders.TestAssemblyBuilder.Build(字符串的AssemblyName,字符串测试名,布尔autoSuites)
   在NUnit.Core.TestSuiteBuilder.Build(TestPackage包)
   在NUnit.Core.SimpleTestRunner.Load(TestPackage包)
   在NUnit.Core.ProxyTestRunner.Load(TestPackage包)
   在NUnit.Core.ProxyTestRunner.Load(TestPackage包)
   在NUnit.Core.RemoteTestRunner.Load(TestPackage包)
   在System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr的MD,对象[] ARGS,对象服务器,对象[] outArgs)
   在System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(即时聊天MSG)

那么,为什么该文件无法加载我不知道?这些测试都通过了,为什么没有这个文件,即使现在需要加载?

我已经尝试过在NUnit的生成步骤,.NET运行库设置为86无济于事。

环境:Windows 7,VS 2012 Update 2中,编译到.NET 4.0,NUnit的2.6.2,TeamCity的7.1


解决方案

如果这仍然活跃;结果
这是一个pretty清除错误:


  

System.IO.FileNotFoundException:未能加载文件或程序集MyProject.Browser,版本= 0.24.0.0,文化=中性公钥= null或它的一个依赖。该系统找不到指定的文件。



  1. 您必须创建生成步骤来编译测试


  2. 创建另一个构建步骤NUnit的,并传递路径装配文件可以使用通配符,更多信息的http://计算器。 COM /这里/1075077分之16629676


I'm setting up TeamCity to run some NUnit tests, TeamCity reports that all the test pass but it reports the build as a fail with the error message 'New build status is : : NUnit error, {build.status.text}'. Digging in to the build log I can see that there's a failure to load the program under test, here's the reported error;

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

So, why can the file not be loaded I wonder? The tests have all passed so why does this file even need to be loaded now?

I've experimented with setting the .NET runtime to x86 in the NUnit build step, to no avail.

Environment: Windows 7, VS 2012 Update 2, compiling to .NET 4.0, NUnit 2.6.2, TeamCity 7.1.

解决方案

If this is still active;
It is a pretty clear error:

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. You have to create build step to compile tests

  2. Create another build step NUnit and pass path to assembly file you can use wildcards, more info http://stackoverflow.com/a/16629676/1075077 here.

这篇关于TeamCity的NUnit的构建步骤失败,尽管通过了所有测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆