我是Phpunit的新手,巧合(截至2012年9月)我安装了全新的phpunit 3.7.0(实际上它显示为3.7.1,因为我的phpunit安装是一个git checkout)
我想要的是一个测试感知的“echo”关键字或printf函数,它在phpunit测试类中的作用与diag()
函数或perl {{3}的note()
函数相同。 }模块。
诊断
diag(@diagnostic_message);
打印确保不会干扰的诊断消息 测试输出。就像打印@diagnostic_message简单连接一样 在一起。
请注意
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.
答案 0 :(得分:3)
我不知道有任何问题,您可以创建自己的PHPUnit_Framework_TestListener
并扩展您的测试用例以提供存储这些消息的辅助函数。测试运行后,可以输出这些消息。
这只是一个想法,我到目前为止从未为Phpunit实现过TestListener
,但extended testcases这是相当直接的(手册说:“这是最简单的一个扩展PHPUnit的方法。“)。
希望这已经有用了,你可能对日志记录也有一些要求,所以不确定你创建的STDOUT是否会最终完成,这就是PHPUnit 3.6我希望这与3.7的工作方式基本相同。