使用 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,但它不起作用。
全部,答案是这样的。我的测试类扩展了一个使用 @BeforeSuite 和 @AfterSuite 的类。当我将alwaysRun = true添加到@BeforeSuite/@AfterSuite时,它按预期工作。
这也让我发疯,谢谢。对于将来遇到同样问题的人,下面是如何实现alwaysRun的语法 @BeforeMethod (alwaysRun = true) @AfterMethod(alwaysRun = true)