我尝试使用代码验收测试为我的控制器生成代码覆盖率,但是当我使用覆盖率运行测试时,Laravel不知道如何处理此路由。
c3.php
已设置并包含在public/index.php
中 - 我已验证了正确的页面。
[ErrorException] file_get_contents(http://localhost/c3/report/clear): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error
我需要添加路线吗?
答案 0 :(得分:2)
很难评估,因为可能有很多事情可能导致这种情况。我不确定这是问题的路由,但可能是之前的步骤(因为它不是4xx错误)。 在Laravel中,通常当我遇到500问题时,特别是在路由方面(好吧,mod_rewrite),它通常与我的.htaccess文件有关。
您是否尝试过添加此行
RewriteBase /
后
RewriteEngine On
<。>在.htaccess文件中?
答案 1 :(得分:0)
对我来说,在this GitHub issue中描述了在Laravel 4.2中运行验收测试的解决方案。
<强> codeception.yml 强>
coverage:
enabled: true
remote: false
c3_url: 'http://whatever.dev/c3.php'
<强> routes.php文件强>
Route::get('/c3.php/{extra}', function () {
require base_path('c3.php');
})->where('extra', '.*');
提示强> 在我正在使用的验收/功能测试中,我正在引导Laravel作为该过程的一部分,因此我可以在测试中完全访问Facades和IOC容器,这有助于断言。
$app = require __DIR__.'/../bootstrap/start.php';
$app->boot();
注意:生成代码覆盖率时,使用
require_once
将无效。