PHPUnit对Laravel Framework的覆盖范围吐出HTML而不是运行测试
问题描述:
我遇到了一个奇怪的问题,试图在Mac OS X和Ubuntu上为Laravel Framework 5.4创建测试覆盖率报告。PHPUnit对Laravel Framework的覆盖范围吐出HTML而不是运行测试
我检出了源并获取了依赖关系。
$ 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家园的流浪汉框试了一下。
我也分叉了项目,并在Travis-CI中运行它。它使用PHP 5.6和7.0,但在PHP 7.1上使用相同的HTML垃圾输出失败。
你可以看到构建失败这里:https://travis-ci.org/egorpe/framework/jobs/241038092
所以,我在这里失踪?这是怎么回事?