gpt4 book ai didi

java - testng 中跳过的测试的测试用例计数不正确

转载 作者:太空宇宙 更新时间:2023-11-04 11:11:02 25 4
gpt4 key购买 nike

我使用以下代码来获取跳过的测试用例计数

public void onFinish(ITestContext context) {
skippedTests =context.getSkippedTests().getAllResults();

for (ITestResult temp : skippedTests) {
ITestNGMethod method = temp.getMethod();
if (context.getSkippedTests().getResults(method).size() > 1) {
skippedTests.remove(temp);} else {
if (context.getPassedTests().getResults(method).size() > 0) {
skippedTests.remove(temp);
}
else{if(context.getFailedTests().getResults(method).size() > 0){
skippedTests.remove(temp);
}
}
}
}

但是很多时候,当套件完全执行时,跳过的测试用例计数会给出所有跳过的方法的计数(即包括 beforeclass 跳过的、before 方法跳过的等),而不仅仅是跳过的测试用例的计数。

请让我知道我缺少什么。

最佳答案

您可以在最后从您的集合中过滤掉所有非测试方法,如下所示

public void onFinish(ITestContext context) {
Set<ITestResult> skippedTests = context.getSkippedTests().getAllResults();

for (ITestResult temp : skippedTests) {
ITestNGMethod method = temp.getMethod();
//If the method is not a @Test annotated method, then lets remove that from the skipped lists
if (!method.isTest()) {
skippedTests.remove(temp);
continue;
}
if (context.getSkippedTests().getResults(method).size() > 1) {
skippedTests.remove(temp);
} else {
if (context.getPassedTests().getResults(method).size() > 0) {
skippedTests.remove(temp);
} else {
if (context.getFailedTests().getResults(method).size() > 0) {
skippedTests.remove(temp);
}
}
}
}
}

关于java - testng 中跳过的测试的测试用例计数不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45998977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com