我是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>
这似乎不是编写测试代码的简洁方法。你会怎么做?
答案 0 :(得分:7)
TestNG不提供此OOB。默认情况下,它会以html格式生成报告。
如果您想在控制台上撰写报告,则需要撰写海关TestListenerAdapter
。
在TestNG logging文档中有一个关于如何做类似事情的小例子。您可以使用相同的示例,并覆盖onTestFailure()
,阅读测试结果,并从ITestResult.getThrowable()
获取异常消息。
答案 1 :(得分:1)
您还可以尝试-verbose 2
或更高的数字。