我在使用MSBuild任务运行xunit.net任务时遇到错误,详见xunit wiki:http://xunit.codeplex.com/wikipage?title=HowToUseMSBuild
我的MSBuild文件是:
<Project
DefaultTargets="Test"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask
AssemblyFile="xunit.runner.msbuild.dll"
TaskName="Xunit.Runner.MSBuild.xunit" />
<ItemGroup>
<TestAssemblies Include="..\**/*.tests.dll" />
</ItemGroup>
<Target Name="Test">
<xunit Assemblies="@(TestAssemblies)" xml="..\TestResults.xml" />
</Target>
</Project>
当我运行msbuild脚本时,构建成功运行并返回我的测试结果(测试计数,失败计数等)。
然而,在显示结果后,我收到消息:
C:\ Program Files(x86)\ Jenkins \ jobs \ My First Jenkins Build \ workspace \ src \ MyWeb App \ Solution Items \ xunit.msbuild&#34; (默认 目标)(1) - &gt; (测试目标) - &gt; C:\ Program Files (x86)\ Jenkins \ jobs \我的第一个Jenkins Build \ workspace \ src \ MyWe bApp \ Solution Items \ xunit.msbuild(14,5):错误: System.ArgumentException:Coul d找不到文件:C:\ Program Files (x86)\ Jenkins \ jobs \我的第一个Jenkins Build \ wor kspace \ src \ MyWebApp \ MyWebApp.Tests \ obj \ Debug \ xunit.dll C:\ Program 文件(x86)\ Jenkins \ jobs \我的第一个Jenkins Build \ workspace \ src \ MyWe bApp \ Solution Items \ xunit.msbuild(14,5):错误:at Xunit.ExecutorWrapper..c tor(String assemblyFilename,String configFilename,Boolean shadowCopy)C:\ Program Files (x86)\ Jenkins \ jobs \我的第一个Jenkins Build \ workspace \ src \ MyWe bApp \ Solution Items \ xunit.msbuild(14,5):错误:at Xunit.Runner.MSBuild.xun it.ExecuteAssembly(String assemblyFilename, String configFilename,IRunnerLogge r logger)
我不确定为什么要寻找xunit.dll,任何人都可以放弃任何光线吗?当我使用<xunit Assembly>
而不是<xunit Assemblies>
时,它可以正常使用。
答案 0 :(得分:3)
我遇到的问题是我的TestAssemblies元素,将其更新为以下问题解决了这个问题:
<TestAssemblies Include="..\**\bin\*\*.Tests.dll" />
我认为其他我想做的事情&#39;测试&#39;正在拾取dll,这导致xunit寻找xunit.dll。