TestNG与黄瓜

时间:2015-05-08 06:53:24

标签: cucumber testng

我正在使用testNG运行黄瓜。 CucumberRunner类扩展了AbstractTestNGCucumberTests,并在testNG.xml文件中指定了CucumberRunner类。

如果我使用testNG.xml运行一个简单的TestNG类,那么testNG结果的输出将显示在控制台中,即Total tests run,Failures,Skips如下所示: -

Test.java

package com.cucumber.test;
import org.testng.Assert;
public class Test {
@org.testng.annotations.Test
public void test() {
    Assert.assertEquals(true, true);
}
}

的testng.xml: -

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="TestNG" verbose="1">
<test name="TestCuke">
<classes>
<class name="com.cucumber.test.Test">
</class>
</classes>
</test>
</suite>

enter image description here

但是当我使用CucumberRunner运行testNG.xml时,testNG结果的输出不会显示在控制台中。

的testng.xml

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="TestNG" verbose="1">
<test name="TestCuke">
<classes>
<class name="com.cucumber.test.CucumberRunner">
</class>
</classes>
</test>
</suite>

CucumberRunner.java

package com.cucumber.test;
import cucumber.api.CucumberOptions;
simport cucumber.api.testng.AbstractTestNGCucumberTests;

@CucumberOptions(tags= "@smokeTest",features="src\\newTestFile.feature")
public class CucumberRunner extends AbstractTestNGCucumberTests{
}

enter image description here

如何在黄瓜控制台中显示testNG结果输出?

3 个答案:

答案 0 :(得分:0)

您需要在test.java和testng.xml中定义一个参数:

package com.cucumber.test;
import org.testng.Assert;
public class Test {
@org.testng.annotations.Test("myTest")
public void test() {
    Assert.assertEquals(true, true);
}
}

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="TestNG" verbose="1">
<test name="TestCuke">
<parameter name="myName"  value="true"/>
<classes>
<class name="com.cucumber.test.Test">
</class>
</classes>
</test>
</suite>

答案 1 :(得分:0)

您可以在控制台中添加格式中的&#34; 漂亮&#34; 来获取详细报告 @CucumberOptions 下的选项。

例如,

@CucumberOptions(
        format={"pretty","json:path/to/json_repot.json"},
        features = "Path_to_features_file",
        glue="com.sri.stepDefinition",
        tags={"@smoke,@regression")
        )

public class TestRunner extends AbstractTestNGCucumberTests{}

答案 2 :(得分:0)

要将JUnit黄瓜测试与TestNG集成在一起,我们需要遵循3个步骤

第1步: 在TestNG xml中的类标记中添加CucumberRunner / TestRunner文件的路径和名称。

这使TestNG可以找到黄瓜的TestRunner文件

步骤2: 在CucumberRunner / TestRunner文件中扩展了AbstractTestNGCucumberTests

这允许在TestNG而不是JUnit上运行黄瓜测试

第3步 在Maven中添加黄瓜testNG依赖项

这提供了支持Jars的黄瓜和TestNG集成功能