使用组时无法识别 TestNG 参数

问题描述 投票:0回答:2

使用 testNG xml 运行测试套件时,测试将正常运行,并且 xml 文件中的所有参数均按预期使用。当我将分组添加到 @Test 方法并添加组 xml 时,我得到了 failed:java.lang.nullpointerException。 @Test 在运行类或从 XML 时完美运行。

之前:一切运行良好

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
  
<suite name="Suite1" verbose="1" >
    <parameter name="User" value="Admin"/>
    <parameter name="Password" value="something"/>
  <test name="ExampleTest" >
    <classes>
      <class name="test1"/>
      <class name="test2"/>
    </classes>
  </test>
</suite>

AFTER - @BeforeClass 因 Null.PointerException 失败

<suite name="Suite1" verbose="1" >
    <parameter name="User" value="Admin"/>
    <parameter name="Password" value="something"/>
  <test name="ExampleTest" >
          <groups>
              <run>
                  <include name = "setup"/>
                  <exclude name = "functional"/>
                  <include name = "regression"/>
              </run>
          </groups>

    <classes>
      <class name="test1"/>
      <class name="test2"/>
    </classes>
  </test>
</suite>

注意:我已经用 @BeforeClass(groups = {"setup"}) 标记了 @BeforeClass,但它不起作用。

testng.xml
2个回答
1
投票

全部,答案是这样的。我的测试类扩展了一个使用 @BeforeSuite 和 @AfterSuite 的类。当我将alwaysRun = true添加到@BeforeSuite/@AfterSuite时,它按预期工作。


0
投票

这也让我发疯,谢谢。对于将来遇到同样问题的人,下面是如何实现alwaysRun的语法 @BeforeMethod (alwaysRun = true) @AfterMethod(alwaysRun = true)

© www.soinside.com 2019 - 2024. All rights reserved.