如果TestNG类中的返回类型不为空,则不执行测试

时间:2017-10-16 07:52:55

标签: java selenium-webdriver testng testng-eclipse

仅在执行类文件时作为TestNG执行测试方法之前。在结果中跳过,失败或通过测试用例count = 0。在执行脚本时没有错误或异常。 但是当我改变返回void类时,执行成功。 有人可以说明原因吗?

1 个答案:

答案 0 :(得分:0)

您可以在testng套件文件中使用allow-return-values来将testng视为测试。通常对于测试,返回值没有意义,它们应该是独立的单元 - 即使你添加了返回类型,如果allow-return-values为true,Testng也会忽略它们。

以下是一个展示此内容的示例。

import org.testng.Reporter;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class TestClassSample {
    @BeforeMethod
    public void beforeMethod() {
        Reporter.log("beforeMethod() executed", true);
    }

    @Test
    public String testMethod() {
        Reporter.log("testMethod() executed", true);
        return null;
    }
}

这是相应的套件xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="46765400_Suite" verbose="2" allow-return-values="true">
    <test name="46765400_test">
        <classes>
            <class name="com.rationaleemotions.stackoverflow.qn46765400.TestClassSample"/>
        </classes>
    </test>
</suite>

这是执行输出

...
... TestNG 6.12 by Cédric Beust (cedric@beust.com)
...
beforeMethod() executed
testMethod() executed
PASSED: testMethod

===============================================
    46765400_test
    Tests run: 1, Failures: 0, Skips: 0
===============================================

===============================================
46765400_Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================