我有一种情况,我试图从一个项目中重新使用集成测试,另外点击一个几乎完全相同的,基本上是直接传递的REST服务(除了标题之外,端点是相同的)。辅助直通服务是所有公共交互的公共端点。为简化起见,我将public-api
称为测试所在的原始服务private-api
我们正在使用改装api实际上将其余的调用与几个黑客组合在一起,以使标题更易于配置。
通过private-api
中的故障保护作为集成测试运行时,测试运行正常,但在public-api
中,我们有更多的配置需要在启动测试之前以编程方式进行。为此,我写了一个测试方法:
@Test(groups = {"test"})
@Parameters({"xmlTestConfigFilePath"})
public void runCommonTests(String xmlTestConfigFilePath)
{
log.info("Launching common test library");
try
{
System.setProperty("it.localServiceBaseUrl", "localhost:8080/public-endpoint");
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testNG = new TestNG();
testNG.addListener(tla);
testNG.setXmlSuites(new LinkedList<>(new Parser(xmlTestConfigFilePath).parse()));
testNG.run();
}
catch (Exception e)
{
log.error("Exception thrown while executing common tests", e);
assertTrue(false);
}
assertTrue(true);
}
注意: xmlTestConfigFilePath故意与-DsuiteXmlFile不同,以允许常规测试的辅助xml配置
问题是,当我以这种方式运行时,我没有从常用测试中获得任何有用的输出。运行mvn clean test
会产生以下输出:
===============================================
wfm_public_api_suite
Total tests run: 1, Failures: 0, Skips: 1
Configuration Failures: 1, Skips: 6
===============================================
没有堆栈跟踪,没什么用处。有没有办法将常见测试运行的结果附加到&#34;驱动程序&#34;测试运行?以某种方式将它添加到会话中?