最近从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);