Gallio MbUnit和Team City问题

时间:2010-04-09 20:32:13

标签: msbuild teamcity mbunit gallio

今天早上我问了一个关于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>

您对可能存在的问题有所了解吗?

3 个答案:

答案 0 :(得分:3)

是的,使用不正确的语法指定了filter属性。应使用冒号将密钥与其值分开。例如。使用“Type:SomeFixture”是有效的。当然你可能不想使用那个过滤器,除非你真的有一个名为SomeFixture的测试夹具。 :-P

答案 1 :(得分:0)

我终于明白了!

我刚刚删除了Filter属性,现在测试运行正常,一切正常

答案 2 :(得分:0)

我在Bamboo中使用了Command,发现从/ filter参数中删除任何空格都解决了这个问题。