今天早上我问了一个关于Gallio和Team City之间的整合问题的问题。我更改了msbuild文件,以使用最新的Gallio构建脚本API使用正确的语法。感谢Jeff Brown,但现在当我尝试在Team City上构建应用程序时,我收到以下错误:
执行Gallio任务时出现意外错误。[16:19:49]:[Project“CoderForTraders.msbuild.teamcity.patch.tcprojx”(RebuildSolution; RunTests target(s)):] C:\ TeamCity \ buildAgent \ work \ fa1d38b0af329d65 \ CoderForTraders.msbuild(9,9):FilterParseException:Colon expected
这是第9行:
<Gallio IgnoreFailures="true" Filter="Type=SomeFixture" Files="@(TestFile)">
这是整个文件:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- This is needed by MSBuild to locate the Gallio task -->
<UsingTask AssemblyFile="C:\Gallio\bin\Gallio.MSBuildTasks.dll" TaskName="Gallio" />
<!-- Specify the test files and assemblies -->
<ItemGroup>
<TestFile Include="C:\_CBL\CBL\CoderForTraders\Source\trunk\UnitTest\DomainModel.Tests\bin\Debug\CBL.CoderForTraders.DomainModel.Tests.dll" />
</ItemGroup>
<Target Name="RunTests">
<Gallio IgnoreFailures="true" Filter="Type=SomeFixture" Files="@(TestFile)">
<!-- This tells MSBuild to store the output value of the task's ExitCode property
into the project's ExitCode property -->
<Output TaskParameter="ExitCode" PropertyName="ExitCode"/>
</Gallio>
<Error Text="Tests execution failed" Condition="'$(ExitCode)' != 0" />
</Target>
<Target Name="RebuildSolution">
<Message Text="Starting to Build"/>
<MSBuild Projects="CoderForTraders.sln"
Properties="Configuration=Debug"
Targets="Rebuild" />
</Target>
</Project>
您对可能存在的问题有所了解吗?
答案 0 :(得分:3)
是的,使用不正确的语法指定了filter属性。应使用冒号将密钥与其值分开。例如。使用“Type:SomeFixture”是有效的。当然你可能不想使用那个过滤器,除非你真的有一个名为SomeFixture的测试夹具。 :-P
答案 1 :(得分:0)
我终于明白了!
我刚刚删除了Filter属性,现在测试运行正常,一切正常
答案 2 :(得分:0)
我在Bamboo中使用了Command,发现从/ filter参数中删除任何空格都解决了这个问题。