我在Laravel 5.5中遇到了一个奇怪的问题。我使用PhpStorm,我试图用它来使我的流浪主机上的phpunit
调用PHPUnit的是这样的:PhpStorm中的PHPUnit代码覆盖率不引导Laravel
vagrant:///Users/mymachine/Webdev/project/usr/bin/php -dxdebug.coverage_enable=1 /home/vagrant/project/vendor/phpunit/phpunit/phpunit --coverage-clover /home/vagrant/.phpstorm_helpers/project_AdminLoginTest_coverage --bootstrap /home/vagrant/project/bootstrap/app.php --configuration /home/vagrant/project/phpunit.xml Tests\Integration\Authentication\AdminLoginTest /home/vagrant/project/tests/Integration/Authentication/AdminLoginTest.php --teamcity
我定义我的默认配置文件是phpunit.xml
文件,通过自带的Laravel默认和正常运行测试没有覆盖工作得很好。这是每当我试图利用代码覆盖它开始与下面的错误而失败的:
Uncaught Error: Class 'Route' not found in /home/vagrant/project/app/routes.php:5
这样做的原因是因为它没有正确加载的外观,可能甚至无法启动Laravel。
有没有人有过这个工作?如果是这样如何?
我使用的是setUp()
电话,它的定义是这样的
protected function setUp()
{
parent::setUp(); // Must run first, Laravel is set up using this parent call //
/** @var AdminModel $user */
$this->user = $this->createAdmin();
}
我做的运行从父setUp()
第一作为应该调用createApplication()
这应该采取引导Laravel的照顾,如果我没错。
我已经设置了Xdebug的我流浪机器上都FPM和CLI为好,PhpStorm成功地报告它可以通过CLI我流浪盒检测Xdebug 2.5.5
,所以我裁定出来的除非我需要为Coverage安装额外的东西。
我phpunit.xml
还设置了bootstrap/app.php
文件在它的引导定义,这是Laravel默认的,所以应该做工精细,它的作品没有覆盖的事实混淆了我。
我在这里错过了什么吗?感谢您的帮助。如果我错过了您需要的一些细节,请告诉我。