很深的问题,但是有没有办法在 Codeception 中将自己的调试消息打印到控制台?我的意思是与断言无关的消息,纯粹是为了调试测试本身(例如,就像你var_dump()
在任何常规 PHP 网站中的变量一样)
我已经尝试过var_dump()
,echo
并print
但无济于事。使用WebDebug
'smakeAResponseDump()
也不会产生所需的结果,我只想能够看到我的变量的内容,而不必运行像xdebug这样的调试器。
我似乎通过使用辅助类找到了解决此问题的方法:
class WebHelper extends \Codeception\Module
{
public function seeMyVar($var){
$this->debug($var);
}
}
并像这样调用类:
$foo = array('one','two');
$I->seeMyVar($foo);
然后我得到了我正在寻找的调试输出
I see my var "lambda function"
Array
(
[0] => one
[1] => two
)
我会接受这是一个临时解决方案,但是我想保持我的断言干净,而不是用升级到测试功能的 var_dumps 弄乱它们,所以如果有人有一个概念上正确的解决方案,请提交
我开始认为我没有看到一个明显的方法来做到这一点有点厚。感谢您分享您的解决方案!
为什么不直接调用
var_dump
,print_r
, 或print
?它从内部对我有用tryToTest
因为以上都没有在我的测试中起作用,也许自原始帖子以来现在有一个更新的版本使它对你有用?
添加 -v 或 -vv 、 -vvv 标志将使您的所有 print_r 和 var_dumps 在输出中可见。