根据测试是不是成功通过不同的测试计数

Posted

技术标签:

【中文标题】根据测试是不是成功通过不同的测试计数【英文标题】:Different test count depending on whether the tests pass successfully根据测试是否成功通过不同的测试计数 【发布时间】:2016-09-15 04:56:19 【问题描述】:

我的项目:testng-surefire-maven。 在其中一个模块中,我运行 mvn clean install。 当所有测试都是绿色时,我有一个结果: 测试运行:277,失败:0,错误:0,跳过:0

然后我又在我现在正在重构的 3 个测试之一中犯了一个故意的错误。结果我有3个完全不同的输出: Test1>AbstractTestNGSpringContextTests.springTestContextPrepareTestInstance:149 » BeanCreation 测试运行:344,失败:1,错误:0,跳过:100

Test2>AbstractTestNGSpringContextTests.springTestContextPrepareTestInstance:149 » BeanCreation 测试运行:282,失败:1,错误:0,跳过:8 Test3>AbstractTestNGSpringContextTests.springTestContextPrepareTestInstance:149 » BeanCreation 测试运行:416,失败:1,错误:0,跳过:205

这怎么可能??? 我所做的只是在其中一个测试类中依次进行一行更改。我没有碰 testng.xml 和 pom.xml。

此外,如果我同时在所有 3 个中出错,则只会弹出一个。我没有在surefire 或任何其他testng 属性中设置自定义skipAfterFailureCount。为什么它不运行所有这些并立即向我显示所有失败测试的列表?所有测试都在同一个包中。

【问题讨论】:

这里已经回答了:***.com/questions/4174696/… 并非如此。我说的是同一个模块中的测试。 【参考方案1】:

好的,我不知道是什么影响了测试计数,但我可以回答问题的第二部分。

另外,如果我同时在所有 3 个中出错,则只会弹出一个。我没有在surefire 或任何其他testng 属性中设置自定义skipAfterFailureCount。为什么它不运行所有这些并立即向我显示所有失败测试的列表?所有测试都在同一个包中。

这是因为 testng 有一个属性 - configfailurepolicy:如果 @Before* 方法失败,TestNG 是否应该继续执行套件中的剩余测试或跳过它们。 默认行为是跳过。 这就是我的情况。我在测试初始化​​阶段遇到了问题,而不是在测试方法本身。

【讨论】:

以上是关于根据测试是不是成功通过不同的测试计数的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本-if语句

性能测试--系统计数器与硬件分析

Fastlane iOS 测试在本地通过,但不是来自 Jenkins

检查视图控制器是不是通过动画成功关闭

测试“进入”是不是成功的函数

验证码测试