每当assert语句成功,或者至少让它显示遇到的成功断言语句的数量时,我想让它大喊大叫.
我正在使用JUnit4.
有什么建议?
如果你想看到每个成功断言的一些输出,另一个不需要外部依赖或源代码的简单方法,就是定义你自己的Assert类,它将所有方法委托给标准的JUnit Assert类,以及记录成功的断言(失败的断言将像往常一样由JUnit类报告).
然后,您可以从"org.junit.Assert"=>"com.myco.test.Assert"对测试类进行全局搜索和替换,这将修复所有常规和静态导入语句.
然后,您还可以轻松地将方法迁移到更安静的阵营,并更改包装类,以便仅报告每个测试或每个类的传递断言总数等.
当我希望JUnit更加冗长和偶然发现这个问题时,添加一些对我有帮助的信息.也许它将来会帮助其他测试人员.
如果您正在从Ant运行JUnit,并希望查看正在运行的测试,则可以将以下内容添加到您的任务中:
请注意,showoutput,printsummary和enabletestlistenerevents是有帮助的,而不是其他任务属性.如果你设置这些,你会得到如下输出:
Running com.foo.bar.MyTest junit.framework.TestListener: tests to run: 2 junit.framework.TestListener: startTest(myTestOne) junit.framework.TestListener: endTest(myTestOne) junit.framework.TestListener: startTest(myTestTwo) junit.framework.TestListener: endTest(myTestTwo) Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.495 sec
当我的测试结束时,这对我很有用,而且我不确定哪些测试实际上花了太长时间,哪些测试被取消了,因为它们不幸的是在时间到了时运行.