如何在Laravel 5.4中输出有关执行测试的信息

时间:2017-08-02 14:58:02

标签: php laravel phpunit laravel-5.4

我已经为我的laravel api设置了多个测试,但是当我运行单元测试时,我得到的只是:

~api$ ./vendor/bin/phpunit tests/v1/
Time: 171 ms, Memory: 8.00MB
OK (3 test, 4 assertion)

我想获得类似于命令的info方法的输出(如果测试执行开始需要很长一段时间,甚至可能是进度条):

$this->output->info('Starting data fetch ...');

这样我就可以看到,执行了哪些测试。期望的结果是:

~api$ ./vendor/bin/phpunit tests/v1/
Running PassportTest
Running DescribeTest
Running UserListTest

Time: 171 ms, Memory: 8.00MB
OK (3 test, 4 assertion)

为我创建的每个测试执行此操作的正确方法是什么?

编辑:到目前为止,我使用Dumper管理了类似的东西:

(new Dumper())->dump('PassportTest');

这给了我一个引用的文字:

"PassportTest"

1 个答案:

答案 0 :(得分:1)

您可以使用 --debug 标志:

~api$ ./vendor/bin/phpunit tests/v1/ --debug

------输出------

Starting test 'Class::yourTestMethod'.
. //(Result like: ., E, F, etc)

Starting test 'Class::otherTestMethod'.
F //(Result like: ., E, F, etc)

我通常会添加两个标记来帮助我进行分析:

--log-json:将日志文件输出到json

--tap:生成测试摘要文件(执行时间和结果)

请参阅文档: https://phpunit.de/manual/current/en/textui.html