phpunit:是否有类似于perl';s Test::More::note()和Test::More::diag()函数?

phpunit:是否有类似于perl';s Test::More::note()和Test::More::diag()函数?,php,perl,phpunit,Php,Perl,Phpunit,我是Phpunit新手,巧合的是(截至2012年9月),我安装了全新的Phpunit 3.7.0(实际上它显示为3.7.1,因为我的Phpunit安装是git签出) 我想要的是一个测试感知的“echo”关键字或printf函数,它在phpunit测试类中的作用与perl模块中的diag()函数或note()函数相同 诊断 diag(@diagnostic_message); 打印一条诊断信息,保证不会干扰 测试输出。像print@diagnostic_一样,消息是简单地连接在一起的 一起 注

我是Phpunit新手,巧合的是(截至2012年9月),我安装了全新的Phpunit 3.7.0(实际上它显示为3.7.1,因为我的Phpunit安装是git签出)

我想要的是一个测试感知的“echo”关键字或printf函数,它在phpunit测试类中的作用与perl模块中的
diag()
函数或
note()
函数相同

诊断

diag(@diagnostic_message);
打印一条诊断信息,保证不会干扰 测试输出。像print@diagnostic_一样,消息是简单地连接在一起的 一起

    note(@diagnostic_message);
与diag()类似,但在线束中运行测试时将看不到消息。 它将仅在详细的TAP流中可见

方便地放入注释,这些注释可能对调试有用,但不表示有问题

我还没有发现PHPUnit是如何做到这一点的

    Please note that PHPUnit swallows all output that is emitted during the execution of a test.
 In strict mode, a test that emits output will fail.

我不知道有什么,您可以创建自己的测试用例,还可以扩展您的测试用例,以提供存储这些消息的助手函数。测试运行后,可以输出这些消息

这只是一个想法,到目前为止,我还没有为Phpunit实现一个
TestListener
,但是这是非常简单的(手册上说:“这是扩展Phpunit的最简单的方法之一”)


希望这已经有所帮助,您可能对日志记录也有一些要求,因此不确定您将创建的STDOUT是否最终会这样做,这是PHPUnit 3.6,我希望它的工作原理与3.7大致相同。

PHPUnit--verbose
如果您想查看测试中生成的输出,应该这样做…@frank farmer还没有答案。我已经对这篇文章进行了实质性的编辑,现在我问了一个我一开始就想问的问题。删除你的评论怎么样?避免潜在读者混淆(我也将删除此评论)相关问题,2012年9月27日edorian的回答包含一个解决方法: