如何在TeamCity中获得通过测试计数和失败测试计数?

如何在TeamCity中获得通过测试计数和失败测试计数?,teamcity,teamcity-8.0,Teamcity,Teamcity 8.0,我正在向这里定义的guestAuth/app/rest/builds/id:2777/statistics发出请求。如果我正确理解了文档,它应该列出此处定义的参数,但我找不到PassedTestCount和FailedTestCount 是否有其他方法获取这些值?如果我理解正确,TeamCity的工作方式是,如果运行的测试受支持,它们将显示在构建的测试选项卡下,那么您将能够在REST API的两个位置看到它们 首先在/guestAuth/app/rest/builds/id:X下,其中X是内部i

我正在向这里定义的
guestAuth/app/rest/builds/id:2777/statistics
发出请求。如果我正确理解了文档,它应该列出此处定义的参数,但我找不到
PassedTestCount
FailedTestCount


是否有其他方法获取这些值?

如果我理解正确,TeamCity的工作方式是,如果运行的测试受支持,它们将显示在构建的
测试
选项卡下,那么您将能够在REST API的两个位置看到它们

首先在
/guestAuth/app/rest/builds/id:X下,其中X是内部id号。您将看到一个
标记,其中包含如下文本:

<statusText>Tests passed: 4</statusText>
<statusText>Tests failed: 2 (2 new), passed: 6</statusText>
<statusText>Tests failed: 2, passed: 6</statusText>
但是,如果没有失败的测试,“FailedTestCount”属性标记将不存在

如果你的测试没有出现在 Test下,那么你可以在中间找到故障报告的测试开始/结束,如果发现的话,

例如,您可以使用以下命令行自定义脚本生成步骤创建新生成:

echo "##teamcity[testSuiteStarted name='suite.name']"
echo "##teamcity[testSuiteStarted name='nested.suite']"
echo "##teamcity[testStarted name='package_or_namespace.ClassName.TestName']"
echo "##teamcity[testFailed name='package_or_namespace.ClassName.TestName' message='The number should be 20000' details='junit.framework.AssertionFailedError: expected:<20000> but was:<10000>|n|r    at junit.framework.Assert.fail(Assert.java:47)|n|r    at junit.framework.Assert.failNotEquals(Assert.java:280)|n|r...']"
echo "##teamcity[testFinished name='package_or_namespace.ClassName.TestName']"
echo "##teamcity[testStarted name='package_or_namespace.ClassName.TestNameTwo']"
echo "##teamcity[testFinished name='package_or_namespace.ClassName.TestNameTwo']"
echo "##teamcity[testSuiteFinished name='nested.suite']"
echo "##teamcity[testSuiteFinished name='suite.name']"
echo“##团队城市[testSuiteStarted name='suite.name']”
echo“##团队城市[testSuiteStarted name='nested.suite']”
echo“##teamcity[teststart name='package_或_namespace.ClassName.TestName']”
echo“##teamcity[testFailed name='package|u或_namespace.ClassName.TestName'message='数字应该是20000'详细信息='junit.framework.AssertionFailedError:expected:but was:| n | r在junit.framework.Assert.failNotEquals(Assert.java:280)| n | r…””
echo“##teamcity[testFinished name='package_或_namespace.ClassName.TestName']”
echo“##teamcity[teststart name='package_或_namespace.ClassName.TestNameTwo']”
echo“##teamcity[testFinished name='package_或_namespace.ClassName.TestNameTwo']”
echo“##团队城市[testSuiteFinished name='nested.suite']”
echo“##团队城市[testSuiteFinished name='suite.name']”
它最终将显示:

<property name="FailedTestCount" value="1"/>
<property name="PassedTestCount" value="1"/>


/guestAuth/app/rest/builds/id:X/statistics
下运行测试。希望这能有所帮助。

问题是我在检查一个没有运行测试的项目。。。啊!是的。那就行了!
<property name="FailedTestCount" value="1"/>
<property name="PassedTestCount" value="1"/>