我刚开始使用Symfony 4并遇到此问题。
$ vendor/bin/simple-phpunit
PHPUnit 5.7.27 by Sebastian Bergmann and contributors.
Testing Functional Controller
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\TestSessionListener::onKernelRequest".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
2018-03-20T18:51:20+07:00 [debug] Listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest" stopped propagation of the event "kernel.request".
2018-03-20T18:51:20+07:00 [debug] Listener "Symfony\Bundle\FrameworkBundle\EventListener\ResolveControllerNameSubscriber::onKernelRequest" was not called for event "kernel.request".
2018-03-20T18:51:20+07:00 [debug] Listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest" was not called for event "kernel.request".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.response" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RequestDataCollector::onKernelResponse".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\TestSessionListener::onKernelResponse".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelResponse".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\SaveSessionListener::onKernelResponse".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\StreamedResponseListener::onKernelResponse".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest".
2018-03-20T18:51:20+07:00 [debug] Notified event "kernel.terminate" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelTerminate".
F 1 / 1 (100%)
Time: 136 ms, Memory: 10.00MB
There was 1 failure:
1) App\Tests\Controller\HomeControllerTest::testHomepage
Failed asserting that 404 matches expected 200.
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
修改
通过将环境变量添加到phpunit.xml
我得到了它被抑制但现在它在测试未定义的路由时显示未捕获的异常。
<phpunit>
...
<php>
<env name="APP_DEBUG" value="false" />
</php>
...
</phpunit>
日志
$ vendor/bin/simple-phpunit
PHPUnit 5.7.27 by Sebastian Bergmann and contributors.
Testing
.2018-03-21T11:22:50+07:00 [error] Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /"" at vendor/symfony/http-kernel/EventListener/RouterListener.php line 144
F.
Time: 124 ms, Memory: 8.00MB
There was 1 failure:
1) App\Tests\Controller\HomeControllerTest::testHomepage
Failed asserting that 404 matches expected 200.
...
是否可以隐藏此错误消息?
当我删除根项目中的vendor
和bin
目录时,似乎会出现此问题。尝试使用composer install
重新安装所有依赖项并不能解决此问题,因此我决定从头开始重新创建项目。这是我要做的步骤:
composer create-project symfony/skeleton my-project-name
composer.json
,直到安装了所有家属,并且功能测试没有问题。.git
目录从之前的项目复制到新的&#39;重新创建的&#39;项目导入git历史。如果有人知道实际发生了什么,以及如何在不重新创建项目的情况下解决问题,我就让这个qustion打开。
答案 0 :(得分:0)
具有相同的问题,并已通过以下方式解决:
<env name="APP_ENV" value="test" />
在phpunit.xml文件中