单元测试 - 调试

  • 作者:KK

  • 发表日期:2015.12.13


开发过程中你可能发现有些东西老是断言不对,想print_r,echo啥的将数据打印出来看看是什么模样

但实际上你发现如果你写了句echo 'aaaaaaaaaaaa';的代码然后运行一下却发现没输出在控制台,怎么办?

在Codeception里你要使用这个函数codecept_debug来输出哦,并且它跟print_r一样既支持标量也支持数组和对象输出的,比如

codecept_debug(123);
codecept_debug('abc');
codecept_debug(['x', 'y', 'z']);
codecept_debug(new stdClass());

可是其实你抄了以上代码后运行都不会看得到输出,因为还要在命令里加入参数,声明为debug模式才能输出调试数据,比如:

php E:\codecept.phar run unit --debug
php E:\codecept.phar run unit -d	#这样简写也可以喔!

可是你觉得这个函数名太长又有下划线符号,输入挺麻烦的,真不太乐意敲它,怎么办呢?我的解决办法有2个:

  1. 加一个扩展函数文件,定义一个叫db的函数,用这个函数调用codecept_debug,当然函数的参数表要基本一样啦,然后在写代码时只要输入db($data)就方便多了,另外记得在_bootstrap.php里引入扩展函数文件才能调用

  2. 我使用的IDE可以设置输入宏,只要我按一下db两个字母然后再按一下tab键就可以快速构造codecept_debug(光标默认在此闪烁);的快速编码功能,你可以摸索一下你的IDE或编辑器有没有类似这样的快速输入功能^-^


另外呢其实如果用exit('string....')也行的,仅限输出string,呵呵