gpt4 book ai didi

Symfony 4、PHPUnit 桥和 phpunit 位置

转载 作者:行者123 更新时间:2023-12-02 17:52:08 25 4
gpt4 key购买 nike

如果您安装phpunit/phpunit在 Symfony 4 应用程序中打包时,您会收到消息:

Adding phpunit/phpunit as a dependency is discouraged in favor of Symfony's PHPUnit Bridge.

  • Instead:
    1. Remove it now: composer remove --dev phpunit/phpunit
    2. Use Symfony's bridge: composer require --dev phpunit

所以,我安装了symfony/phpunit-bridge包。
它创建了bin/phpunit文件和 vendor/bin/simple-phpunit .

  • 如果我运行 bin/phpunit ,它下载 phpunit 项目并将其依赖项安装在 bin/.phpunit/phpunit-6.5 中.
  • 如果我运行 vendor/bin/simple-phpunit ,它下载 phpunit 项目并将其依赖项安装在 vendor/bin/.phpunit/phpunit-5.7 中.

请注意,版本不同。为什么?
为什么不使用 Composer 及其自动加载器?现在我们在使用它和 PHPStorm 等其他工具时遇到了麻烦(损坏的 phpunit 调试等)。
我知道,我可以将 phpunit 路径添加到主 Composer 自动加载中,但这种方法看起来很脏。

如何在 Symfony 4 中正确使用 phpunit,以及所有调试集成等?

最佳答案

我通过在 Symfony 的根目录中添加 phpunit.xml.dist 成功解决了这个问题。

该文件以前存在,但我怀疑当我删除 phpunit 时,它也删除了该文件..(我可能是错的,但我很确定)

当我将标准 phpunit.xml.dist 文件添加回根目录时,它会提示我在其中添加“KERNEL_CLASS”变量。

当我添加它时,它开始正常工作。

我的 phpunit.xml.dist 的完整内容,以防有人需要

<?xml version="1.0" encoding="UTF-8"?>
<!--
https://phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/6.5/phpunit.xsd"
backupGlobals="false"
colors="true"
bootstrap="vendor/autoload.php"
>
<php>
<ini name="error_reporting" value="-1" />
<server name="KERNEL_CLASS" value="App\Kernel" />
</php>

<testsuites>
<testsuite name="Project Test Suite">
<directory>tests</directory>
</testsuite>
</testsuites>

<filter>
<whitelist>
<directory>src</directory>
</whitelist>
</filter>

<listeners>
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
</listeners>
</phpunit>

关于Symfony 4、PHPUnit 桥和 phpunit 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52308968/

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