如何在TestNG测试方法中使用"allow-return-values="真正的" "?



我是测试NG的初学者。我在官方TestNG文档中介绍了测试方法。我不清楚allow-return-values="true"的用法,任何人都可以用例子简单地解释它。我做了一个我不了解使用方法的例子,

这是我的.xml

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="newSuite" parallel="methods" thread-count="5" allow-return-values="true">
<parameter name="browser" value="Firefox"></parameter>
<test name="dataprovider" allow-return-values="true">
   <classes>
      <class name="com.tets.SampleTest"></class>
   </classes>
</test>
</suite>

我的测试等级如下,

public class SampleTest {
@AfterMethod
public void teardown(Object returnValueFromTest){
    //inspect returnValueFromTest and perform necessary clean up.
}

@Test
public String testEventGeneration(){
    //generate event
    //returning generated e vent id.
    return "E1234";
}
@Test
public String testMarketGeneration(){
    //generate market
    //returning generated market.
    return "hai";
}}

如何以及在哪里可以从testMarketGeneration测试方法获得返回值?

选项"允许返回值"并不意味着测试返回值"hai"。这意味着允许对具有返回值的方法进行@Test注释。

默认情况下,TestNG遵循单元测试的最佳实践,这意味着单元测试方法不应该有返回值。但是,有时您希望将@Test注释添加到具有返回值的方法中。如果您没有在Suite配置中指定"允许返回值",TestNG将打印出一个警告,并且不会将该方法作为测试运行。

TestNG给出的警告类似于:

方法public java.util.Lista.B.getC(java.util.List)有一个@Test注释,但也有一个返回值:忽略它。使用'suite allow return values="true"'修复此

到目前为止,我发现的允许返回值的唯一有用的例子是,当您的测试类实现了某个接口,并且您希望通过添加@test注释来测试所有接口方法时。

请参阅http://testng.org/doc/documentation-main.html真正的文档。

相关内容

最新更新