gpt4 book ai didi

functional-testing - 如何使用 simple-phpunit 抑制功能测试中的调试消息

转载 作者:行者123 更新时间:2023-12-03 01:07:41 25 4
gpt4 key购买 nike

我刚刚开始使用 Symfony 4,遇到了这个问题。

  1. 运行功能测试时,在控制台上打印这样的调试消息是否正常?
$ 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.
    ...

    是否可以隐藏此错误消息?

    更新

    当我删除根项目中的 vendorbin 目录时,似乎会出现此问题。尝试使用 composer install 重新安装所有依赖项并不能解决此问题,因此我决定从头开始重新创建项目。这是我所做的步骤:

    • 使用composer create-project symfony/sculpture my-project-name创建新的symfony项目
    • 使用composer命令添加其他依赖项,例如twig、maker、注释等。在安装所有依赖项并且功能测试没有问题之前,我不会直接编辑 composer.json
    • .git 目录从以前的项目复制到新的“重新创建”项目中以导入 git 历史记录。
    • 我让 Composer (symfony Recipe)解析所有配置,覆盖我以前的配置。
    • 提交前解决其他冲突

    我让这个问题开放,以防有人弄清楚实际发生了什么以及如何在不重新创建项目的情况下解决它。

    最佳答案

    有同样的问题,已修复:

    <env name="APP_ENV" value="test" />

    在 phpunit.xml 文件中

    关于functional-testing - 如何使用 simple-phpunit 抑制功能测试中的调试消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49384030/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com