Codeception中grabFromDatabase获取结果不显示值求助
解决Codeception中grabFromDatabase结果不显示在控制台的问题
我明白你的问题——测试通过但看不到grabFromDatabase返回的实际值对吧?这其实是Codeception的默认行为:它只会帮你验证数据是否存在,但不会主动把结果输出到控制台。不过咱们有几个简单的办法能搞定这个:
直接用PHP原生输出函数打印结果
你可以在获取结果后,用var_dump或者print_r直接输出,这样运行测试时结果就会显示在控制台:$result = $I->grabFromDatabase('tableNames','column1Name', array('column2Value' => '2')); var_dump($result); // 或者用print_r($result);使用Codeception的debug方法(更规范)
Codeception自带专门的debug工具,用codecept_debug函数输出,不过需要在运行测试时加上verbose参数才能看到:
首先在测试代码里添加:$result = $I->grabFromDatabase('tableNames','column1Name', array('column2Value' => '2')); codecept_debug($result);然后执行测试时加上
-v参数:php codecept run acceptance -v这样debug信息就会和测试日志一起显示在控制台了。
额外确认:数据库数据是否符合预期
看你给出的Db模块配置,populate和cleanup都是true,这意味着每次测试前都会重置数据库。虽然你说测试通过了,但还是可以确认下测试时数据库里确实存在column2Value = '2'的记录,避免因为数据重置导致结果不符合预期。
内容的提问来源于stack exchange,提问作者Swarndeep singh
相关产品推荐
相关产品推荐

