如何在控制台上打印异常?我正在使用 TestNG 和 Maven
How to print exceptions on console? I am using TestNG and Maven
我想在控制台上查看异常。我将 TestNG 与 Maven 一起用作构建工具。我已经在 Maven surefire 插件中定义了我的 testng.xml。
如果您使用任何类型的日志记录框架,您应该坚持使用它。
否则,您始终可以使用 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html#printStackTrace()(和兄弟姐妹)打印异常,例如
...
} catch (Exception e) {
e.printStackTrace(System.out);
e.printStackTRace(System.err);
}
...
https://www.javadoc.io/doc/org.testng/testng/latest/org/testng/reporters/VerboseReporter.html
你应该使用上面的 reporter ,但是构造函数需要一个字符串所以你不能使用 testng.xml ( 如果有人知道如何在 testng.xml 请务必在此处添加 )
因此解决方法是通过脚本添加侦听器并通过 java 入口文件启动 testng。
public static void main(String[] args) {
TestNG testng = new TestNG();
// Create a list of String
List<String> suitefiles = new ArrayList<String>();
// Add xml file which you have to execute
suitefiles.add(prop.getProperty("path_to_your_existing_testngxml\testng.xml"));
// now set xml file for execution
testng.setTestSuites(suitefiles);
testng.addListener(new VerboseReporter("[TestNG] "));
// finally execute the runner using run method
testng.run();
}
输出:
备注
由于此报告器构造函数需要一个字符串,因此您不应在 testng.xml 中提供它,您将遇到初始化错误
我想在控制台上查看异常。我将 TestNG 与 Maven 一起用作构建工具。我已经在 Maven surefire 插件中定义了我的 testng.xml。
如果您使用任何类型的日志记录框架,您应该坚持使用它。 否则,您始终可以使用 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html#printStackTrace()(和兄弟姐妹)打印异常,例如
...
} catch (Exception e) {
e.printStackTrace(System.out);
e.printStackTRace(System.err);
}
...
https://www.javadoc.io/doc/org.testng/testng/latest/org/testng/reporters/VerboseReporter.html
你应该使用上面的 reporter ,但是构造函数需要一个字符串所以你不能使用 testng.xml ( 如果有人知道如何在 testng.xml 请务必在此处添加 )
因此解决方法是通过脚本添加侦听器并通过 java 入口文件启动 testng。
public static void main(String[] args) {
TestNG testng = new TestNG();
// Create a list of String
List<String> suitefiles = new ArrayList<String>();
// Add xml file which you have to execute
suitefiles.add(prop.getProperty("path_to_your_existing_testngxml\testng.xml"));
// now set xml file for execution
testng.setTestSuites(suitefiles);
testng.addListener(new VerboseReporter("[TestNG] "));
// finally execute the runner using run method
testng.run();
}
输出:
备注
由于此报告器构造函数需要一个字符串,因此您不应在 testng.xml 中提供它,您将遇到初始化错误