TestNG 6.11祈求者

最近从TestNG 6.9.10升级到6.11.这样做后,我注意到我们的TestNG Invoker类有一个弃用的方法:“addListener”.

    String filePath = System.getProperty("user.dir") + "\\testng.xml";

    TestListenerAdapter tla = new TestListenerAdapter();
    TestNG testng = new TestNG();

    File file = new File(filePath);
    if (file.exists() && !file.isDirectory()) {
        System.out.println("testng.xml file found at " + filePath);
        List<String> suites = Lists.newArrayList();
        suites.add(filePath);
        testng.setTestSuites(suites);
        testng.addListener(tla);  <-- Deprecated
        testng.run();
    } else {
        System.exit(0);
    }

我找不到任何关于这应该如何工作的文档. TestNG尚未更新其网站上的文档.有没有人能够找出新的方法或程序?

构建显示:

 [INFO] /C:/Users/jsmith/workspace/myproj/src/main/java/mypackage/TestngInvoker.java: C:\Users\jsmith\workspace\myproj\src\main\java\mypackage\TestngInvoker.java uses or overrides a deprecated API.
 [INFO] /C:/Users/jsmith/workspace/myproj/src/main/java/mypackage/TestngInvoker.java: Recompile with -Xlint:deprecation for details.

最佳答案 除了您应该使用的addListener(ITestNGListener)之外,不推荐使用所有addListener.

由于Java解析,所选方法是不推荐使用的方法.

你有2个选择:

>等待删除已弃用的方法,Java将找到预期的方法.
>强制执行分辨率:

testng.addListener((ITestNGListener) tla);
点赞