4

作为 TFS 构建的一部分,我已经关注了在 TFS 中集成 nunit 的链接。http://danderson00.blogspot.com/2011/10/running-nunit-tests-under-tfs-build.html使用 NUNITTFS

它正在运行 nunit 测试,如果测试通过了构建,但它没有发布测试结果。

4 projects/solutions compiled
No Test Results
No Code Coverage Results
Impacted Tests
No tests were impacted

Invoke NUnit
C:\Program Files (x86)\NUnit 2.5.9\bin\net-2.0\nunit-console.exe /xml:nunit-tests.xml /framework:net-4.0 Z:\TFSBuilds\1\Sandbox\Tests\Binaries\Tests.dll

00:00
Publish NUnit Results
C:\Program Files (x86)\NUnitTfs\NUnitTfs.exe -n nunit-tests.xml -t Sandbox -p "Any CPU" -f Release -b "Tests_20120213.6" -v 2010

00:00
If NUnit Tests Failed

任何想法我现在缺少什么。

编辑:

    <client>
        <endpoint address="http://mgr:8080/tfs/basecollection/Build/v2.0/BuildService.asmx"
            binding="basicHttpBinding" bindingConfiguration="BuildServiceSoap"
            contract="BuildServiceV2.BuildServiceSoap" name="BuildServiceSoap" />

        <endpoint address="http://mgr:8080/tfs/basecollection/Build/v1.0/PublishTestResultsBuildService2.asmx"
            binding="basicHttpBinding" bindingConfiguration="LinkingService"
            contract="PublishTestResultsBuildService2V1.LinkingService"
            name="LinkingService" />

        <endpoint address="http://mgr:8080/tfs/basecollection/Build/v1.0/PublishTestResultsBuildService2.asmx"
            binding="basicHttpBinding" bindingConfiguration="Service2Soap"
            contract="PublishTestResultsBuildService2V1.Service2Soap"
            name="Service2Soap" />
    </client>
4

1 回答 1

1

您的设置似乎是正确的,换句话说:它应该可以工作。
我的设置与您的设置非常相似,唯一与您的设置不同的是,我包含了nunit-tests.xml. 所以在我的构建日志中你会看到:

Invoke NUnit
C:\Program Files (x86)\NUnit 2.5.9\bin\net-2.0\nunit-console.exe /xml:C:\somepath\nunit-tests.xml  Z:\TFSBuilds\1\Sandbox\Tests\Binaries\Tests.dll

Publish NUnit Results
C:\Program Files (x86)\NUnitTfs\NUnitTfs.exe -n C:\somepath\nunit-tests.xml -t Sandbox -p "Any CPU" -f Release -b "Tests_20120213.6" -v 2010

无论如何,我都会去运行构建的服务器并尝试在CMD.

编辑(在请求提供我的 NUnitTFS-config 后)
在这里,它似乎与你的完全不同:

<client>
    <!-- TFS 2010 services. -->
    <endpoint address="http://TFS/tfs/Collection/TestManagement/v1.0/TestResults.asmx"
     binding="basicHttpBinding" bindingConfiguration="TestResultsServiceSoap"
     contract="Tfs2010.TestResultsServiceV1.TestResultsServiceSoap" name="TestResultsServiceSoap" />

    <endpoint address="http://TFS/tfs/Collection/Services/v3.0/IdentityManagementService.asmx"
     binding="basicHttpBinding" bindingConfiguration="IdentityManagementWebServiceSoap"
     contract="Tfs2010.IdentityManagementServiceV3.IdentityManagementWebServiceSoap"
     name="IdentityManagementWebServiceSoap" />

    <endpoint address="http://TFS/tfs/Collection/Build/V3.0/BuildService.asmx"
     binding="basicHttpBinding" bindingConfiguration="BuildWebServiceSoap"
     contract="Tfs2010.BuildServiceV3.BuildWebServiceSoap" name="BuildWebServiceSoap" />
</client>

我不是这里的专家,但你所拥有的Build/v2.0/BuildService.asmx,最终闻起来像 TFS2008 配置。

于 2012-02-13T12:36:03.137 回答