以下几篇博客详细介绍了如何让xUnit与Team Services Build vNext一起使用:
http://tech.trailmax.info/2014/01/run-xunit-in-hosted-team-foundation-service/
Running unit tests in TFS/VSO Build vNext using xUnit adapter
http://www.donovanbrown.com/post/2015/06/15/how-to-run-xunit-test-with-vnext-build
这些都不适合我。通过检查构建日志,我得到了每个测试程序集的以下警告。
--------------------
Warning: [xUnit.net 00:00:00.1644156] Exception discovering tests from CHO.SAM.Business.Test: System.BadImageFormatException:
Could not load file or assembly 'c:\_Work\473cef3c\CHO\CHO.ALL\Tests\CHO.SAM.Business.Test\CHO.SAM.Business.Test\bin\Debug\xunit.execution.desktop.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
--------------------
有没有人见过这个?如果是这样,你找到了解决方案?
我的想法是;我的测试项目是使用.NET Framework 4.6编译的,我想知道这是否会导致问题?如果是这样的话,我将不得不转移到nUnit或其他东西,因为我觉得改变编译只是为了使用单个测试框架是不对的。
答案 0 :(得分:2)
答案 1 :(得分:1)
此错误通常是由在x86测试运行器上运行的x64编译程序集引起的,反之亦然。检查正在运行的解决方案构建配置。
答案 2 :(得分:1)
我有同样的问题。添加UI测试并没有为我解决。我找到了两个有效的选择:
使用.net 4.5
OR
希望很快就会修复。
答案 3 :(得分:0)
最后,我添加了一个Visual Studio Coded UI测试项目并删除了它的所有内容(一个类),它是空的!
我假设它添加了一个引用或构建服务器认为需要的东西。
我现在正在发现,运行并使用代码覆盖率进行单元测试。
奇怪!
它有效,但我不知道为什么......
答案 4 :(得分:0)
当使用.Net Core类库对.Net Core Web Project(.Net Framework)运行xUnit测试时,我遇到了这个问题。解决这个问题的方法是通过以下方法将运行测试的默认处理器更改为VS2015中的X64:
菜单栏 - >测试 - >测试设置 - >默认处理器架构 - > X64
此解决方案由@RehanSaeed https://github.com/dotnet/cli/issues/3103
发布