phpunit代码覆盖率启动会话错误

时间:2018-08-16 16:05:37

标签: php phpunit

上下文:

我在PHPUnit code coverage session already started中尝试了该解决方案,但没有成功。当我尝试生成代码覆盖率时,仍然出现错误。而且我对导致错误的原因感到困惑。我提供的信息表明,我已经使用了链接问题的答案,并且该问题的证据仍在发生。我正在运行CentOS的Docker实例中运行。

问题:

如何使代码覆盖率起作用?为什么我会收到此错误session_start(): Cannot start session when headers already sent

版本:

PHP 7.2.7
PHPUnit 7.3.1

输出:

在没有代码覆盖的情况下运行时,我会获得成功测试的列表。

 [root@fada2474faea iop]# vendor/bin/phpunit tests/file6test.php --coverage-html coverage
PHPUnit 7.3.1 by Sebastian Bergmann and contributors.

session_start(): Cannot start session when headers already sent

在未启用代码覆盖率的情况下通过测试。

[root@fada2474faea iop]# vendor/bin/phpunit tests/file6test.php 
PHPUnit 7.3.1 by Sebastian Bergmann and contributors.

.....                                                               5 / 5 (100%)

Time: 46 ms, Memory: 6.00MB

OK (5 tests, 5 assertions)

使用链接的其他问题的答案更新代码

[root@fada2474faea iop]# grep -i -R -A1 -B2 session_start *.php
access.php-if(session_status() == PHP_SESSION_NONE)
access.php-{
access.php:    session_start();
access.php-}
--
file1.php-  if(session_status() == PHP_SESSION_NONE)
file1.php-  {
file1.php:      session_start();
file1.php-  }
--
file2.php- if(session_status() == PHP_SESSION_NONE)
file2.php- {
file2.php:     session_start();
file2.php- }
--
logout.php-if(session_status() == PHP_SESSION_NONE)
logout.php-{
logout.php:    session_start();
logout.php-}
--
file3.php- if(session_status() == PHP_SESSION_NONE)
file3.php- {
file3.php:     session_start();
file3.php- }
--
api.php-if(session_status() == PHP_SESSION_NONE)
api.php-{
api.php:    session_start();
api.php-}
--
file4.php-if(session_status() == PHP_SESSION_NONE)
file4.php-{
file4.php:    session_start();
file4.php-}
--
file5.php-        if(session_status() == PHP_SESSION_NONE)
file5.php-        {
file5.php:            session_start();
file5.php-        }

0 个答案:

没有答案