2017-04-25 16 views
4

最近從TestNG 6.9.10升級到6.11。一旦這樣做,我注意到我們的TestNG Invoker類有一個不贊成使用的方法:「addListener」。TestNG 6.11 Invoker

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. 

回答

2

所有addListener已被棄用,除了addListener(ITestNGListener)其中一個你應該使用。

由於Java解析,選定的方法是不推薦使用的方法。

你有2種選擇:

  1. 等待拆除的過時方法,以及Java會發現預期的方法。
  2. 隊由投分辨率:

    testng.addListener((ITestNGListener) tla);