如何从命令行获取testng失败消息

时间:2011-10-13 15:29:18

标签: java testng

我是testng的新手。我想从命令行运行它时看到Expected和Actual消息。 当我从IDE运行它时,它可以工作:

  

java.lang.AssertionError:预期:3实际:2

当我使用以下命令行运行它时:

java org.testng.TestNG -testclass SimpleTest

我明白了:

  

命令行套件   总测试运行:2,失败:2,跳过:0

(没有消息)当我将测试包装在try ... catch块中时,它看起来像:

try{
   int x = 3;
   Assert.assertEquals(2,x);
} catch (AssertionError ae){
   System.out.println(ae.getMessage());
}
然后我收到了我的消息。

expected:<3> but was:<2>

这似乎不是编写测试代码的简洁方法。你会怎么做?

2 个答案:

答案 0 :(得分:7)

TestNG不提供此OOB。默认情况下,它会以html格式生成报告。

如果您想在控制台上撰写报告,则需要撰写海关TestListenerAdapter

在TestNG logging文档中有一个关于如何做类似事情的小例子。您可以使用相同的示例,并覆盖onTestFailure(),阅读测试结果,并从ITestResult.getThrowable()获取异常消息。

答案 1 :(得分:1)

您还可以尝试-verbose 2或更高的数字。