Laravel Framework的PHPUnit覆盖范围吐出HTML而不是运行测试

时间:2017-06-09 04:29:51

标签: php laravel phpunit code-coverage xdebug

我尝试在Mac OS X和Ubuntu上为Laravel Framework 5.4创建测试覆盖率报告时遇到了一个奇怪的问题。

我查看了源代码并获取了依赖项。

$ git clone https://github.com/laravel/framework.git
$ cd framework
$ composer install

在那之后,简单的单元测试运行正常。

$ vendor/bin/phpunit --log-junit junit.xml
PHPUnit 5.7.20 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.1.5
Configuration: /Users/egor/framework/phpunit.xml.dist

.............................................................   61 / 2668 (  2%)
.............................................................  122 / 2668 (  4%)

然而,当我添加一个覆盖率报告时,它会吐出一堆HTML而不是运行完整的测试集。这是输出的开始:

$vendor/bin/phpunit --log-junit junit.xml --coverage-clover clover.xml
PHPUnit 5.7.20 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.1.5 with Xdebug 2.5.4
Configuration: /Users/egor/framework/phpunit.xml.dist

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Service Unavailable</title>

        <!-- Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">

我尝试使用自制的PHP 5.6,7.0和7.1以及带有PHP 7.1的新鲜Laravel Homestead流浪盒。

我还将项目分叉并在Travis-CI中运行。它适用于PHP 5.6和7.0,但在PHP 7.1上使用相同的HTML垃圾输出失败。

您可以在此处查看失败的构建:https://travis-ci.org/egorpe/framework/jobs/241038092

那么,我在这里错过了什么?发生了什么事?

1 个答案:

答案 0 :(得分:0)

这是Laravel中的有效错误。由此拉取请求https://github.com/laravel/framework/pull/19609

修复