运行phpunit时不显示测试反馈
Posted
技术标签:
【中文标题】运行phpunit时不显示测试反馈【英文标题】:No test feedback is displayed when running phpunit 【发布时间】:2020-09-09 16:55:57 【问题描述】:尝试此命令时docker-compose exec app php ./vendor/bin/phpunit
或者像/vendor/bin/phpunit
这样的容器内
结果如下:
PHPUnit 8.5.4 by Sebastian Bergmann and contributors.
..F..FFFEE
虽然我需要更多详细信息,例如测试时间和失败信息。
我可以通过启用stopOnFailure = true
获得一些信息
但这并不理想,因为它会在第一个停止,但我需要所有测试才能运行并查看结果。
我需要类似的东西:
PHPUnit 8.5.4 by Sebastian Bergmann and contributors.
.......................E....................................... 63 / 116 ( 54%)
..................................................... 116 / 116 (100%)
Time: 1.2 minutes, Memory: 48.50 MB
There was 1 error:
ERRORS!
Tests: 116, Assertions: 219, Errors: 1.
【问题讨论】:
我不确定 PHPUnit 是否支持显示测试时间。在此处查看可用选项:phpunit.readthedocs.io/en/9.0/textui.html 如有必要,您还可以创建自己的格式化程序:php5.laurent-laville.org/compatinfo/blog/… @MattInamdar 当然可以,在 Docker 容器外运行测试时我没有问题。一切正常。 【参考方案1】:由于您使用的是 docker,默认情况下禁用显示错误的 php.ini 配置。
解决方案 1:
为你的 docker 更新 PHP 配置:
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
参考https://***.com/a/40120445/494907
解决方案 2:
将bootstrap
文件链接到phpunit.xml
为
<phpunit bootstrap="init.php">
在phpunit.xml目录下创建init.php:
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
【讨论】:
我尝试了解决方案 1,但不幸的是它不起作用 要确认请使用 phpinfo() 检查值? 值没有改变。奇怪的是它可以在带有新 Laravel 的机器上运行,但不能在其他带有 Laravel 6 的机器上运行! 我已经关注digitalocean.com/community/tutorials/… 我真的需要帮助。我会很感激任何帮助 我按照教程,将它安装在 mac 上,我可以直接运行带有错误的测试。请分享 phpunit.xml,以便我可以与我的比较。以上是关于运行phpunit时不显示测试反馈的主要内容,如果未能解决你的问题,请参考以下文章