不管testng suite xml默认执行类名下给出的所有方法

时间:2016-06-29 21:19:26

标签: testng

测试不会执行,直到我不在classng标签下的testng.xml中给出方法名称。如果我们不指定方法名,那么默认情况下,testng suite xml会默认执行类名下给出的所有方法。 你能指导一下我在这里缺少的东西吗?

Below is my testng.xml


<suite name="SDP_Suite" verbose="2">
<listeners>
    <listener class-name="com.xxx.TestValidationErrorListener" />
    <listener class-name="org.uncommons.reportng.HTMLReporter" />
    <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
    <listener class-name="org.testng.reporters.XMLReporter"/>  
</listeners>
    <test name="SDP_Tests"> 
    <groups>
    <run>
      <include name="Regression"/> 
      <exclude name="config"/>
    </run>
  </groups> 
            <classes>
                <class name="com.xxx.ResponsiveUI.tests.N1Tests"/>

                <class name="com.xxx.ResponsiveUI.tests.Q1Tests"/>

            </classes>
    </test>
</suite>

2 个答案:

答案 0 :(得分:0)

是的,TestNG将在case suite-test-classes-class中执行测试类中的所有测试。在你的xml中你排除了“config”组,可能有些测试取决于用这个组标记的配置方法,如果跳过这个配置,测试方法也会被跳过。

答案 1 :(得分:0)

不仅如此,如果要将类中的所有方法都作为测试执行,则必须将它们全部标记为@Test或将其全部公开,并由类@Test进行标记。< / p>

TestNG doc:

类级别@Test注释的作用是使该类的所有公共方法都成为测试方法,即使它们没有被注释也是如此。如果要添加某些属性,仍然可以在方法上重复@Test批注。

然后,您必须通过套件或IDE启动该类,否则,如果没有任何套件,Maven / Gradle将查找并测试该类。