我刚刚发现 VS Code 通过 Test Runner for Java 插件支持 TestNG 测试。
通常我使用 mvn verify 运行所有测试,同时还传递一些参数(例如 -D)。我们有一个 TestNG.xml 文件,它定义了我们运行的套件,其中有参数。
当我尝试使用 Test Runner 插件在 VS Code 中运行单个测试时,测试失败,因为我们所有的测试都需要参数,这些参数通常由 TestNG xml 文件提供。
有没有办法在 VS Code 中运行单独的测试和/或将参数传递给单独的测试?
XML 示例:
<suite name="main-test-suite">
<test name="A test">
<parameter name="browser" value="firefox" />
<parameter name="anotherRequiredParam" value="a value here" />
<classes>
<class name="com.app.SpecificTest" />
</classes>
</test>
</suite>
测试示例:
public class SpecificTest extends RootTest {
@Test(priority=1, description="Some test")
@Parameters({})
public void runTest() {
// Test code here
}
}
根测试:
public abstract class RootTest {
@BeforeClass
@Parameters({"browser", "anotherRequiredParam"})
public void setup(String browser, String anotherRequiredParam) {
// Test setup here
}
}
编辑:我能够通过 VS Code 工作区设置传递每个测试的参数,通过 VMArgs json 传递 -Dbrowser=firefox -DanotherRequiredParam=paramher。
我更愿意传递一个 XML 文件,但这只是一个临时解决方案,而不是实际的答案。
您是否最终弄清楚如何使用 VS Code 和 TestNG 编辑 testng.xml?我有类似的设置并遇到了完全相同的问题。
提前致谢!