如何防止TeamCity XML报告处理失败的构建

时间:2018-04-06 20:56:27

标签: build teamcity mstest trx

我有一些构建内容可能会也可能不会生成TRX报告,具体取决于配置;此构建内容正在TeamCity上运行。我还启用了XML报表处理构建功能,因此如果生成了测试结果,则可以报告它们。如果找不到TRX文件,则此构建功能似乎无法构建。如果它们存在,有没有办法解析TRX结果,但是否则会避免构建失败?

2 个答案:

答案 0 :(得分:1)

简短的回答是,还没有。

JetBrains目前提出了一个问题,即添加此功能https://youtrack.jetbrains.com/issue/TW-17939 - 你可以去那里投票让它更具优先权。

这个问题也类似于:

答案 1 :(得分:0)

这是一种防止XML / TRX报告处理器出错的方法:将虚拟TRX文件复制到处理器搜索的目录中。我从成功的测试运行中生成了一个TRX文件,删除了一些内容并用占位符值替换了各种属性,并将UnitTestResult结果标记为"NotExecuted"。 TC将显示如下测试结果:

enter image description here

这是我使用的虚拟TRX文件的内容。这有点像黑客,但至少它会使构建失败。

<?xml version="1.0" encoding="UTF-8"?>
<TestRun id="0240f32b-a8c9-4ad5-ae23-c7b64fe32cd2" name="TrxPlaceholder" runUser="User_Placeholder" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
    <Times creation="2018-04-06T14:10:21.7011071-07:00" queuing="2018-04-06T14:10:21.7011176-07:00" start="2018-04-06T14:10:20.5775149-07:00" finish="2018-04-06T14:10:21.7220949-07:00" />
    <TestSettings name="default" id="40f31577-b2c8-4f67-845f-58155fce4a2b">
      <Deployment runDeploymentRoot="Placeholder" />
    </TestSettings>
    <Results>
      <UnitTestResult executionId="9658777a-f6f7-40cb-a331-95cfec3d7b91" testId="7a75abda-f387-442f-bcb3-fca6aa0ce577" testName="TrxPlaceholder" computerName="Placeholder" duration="00:00:00.0073781" startTime="2018-04-06T14:10:21.3332054-07:00" endTime="2018-04-06T14:10:21.5447253-07:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="NotExecuted" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9658777a-f6f7-40cb-a331-95cfec3d7b91" />
    </Results>
    <TestDefinitions>
      <UnitTest name="TrxPlaceholder" storage="c:\temp\TrxPlaceholder.dll" id="7a75abda-f387-442f-bcb3-fca6aa0ce577">
        <Execution id="9658777a-f6f7-40cb-a331-95cfec3d7b91" />
        <TestMethod codeBase="c:\temp\TrxPlaceholder.dll" executorUriOfAdapter="executor://mstestadapter/v2" className="TrxPlaceholder" name="TrxPlaceholder" />
      </UnitTest>
    </TestDefinitions>
    <TestLists>
      <TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
      <TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
    </TestLists>
<ResultSummary outcome="Completed">
    <Counters total="0" executed="0" passed="0" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
</ResultSummary>
</TestRun>