gpt4 book ai didi

Symfony2 : How to handle PHP Unit bootstrap file for contributed bundle?

转载 作者:行者123 更新时间:2023-11-28 20:01:09 27 4
gpt4 key购买 nike

我使用什么作为我贡献的包的 PHP 单元配置文件的自动加载文件?

我正在为我的第一个贡献的 Symfony 2 包编写单元测试。我不确定如何处理 PHP 单元的 XML 配置文件 phpunit.xml.dist。我知道我应该编写自己的配置文件(而不是依赖 Symfony Framework 提供的配置文件),但我见过人们处理配置使用的引导文件的几种不同方式。

Symfony 框架应用程序在 app/ 文件夹中有一个 PHP Unit 配置文件,它使用 bootstrap.php.cache 作为自动加载器,这实际上只是服从 Composer 供应商目录中的自动加载器。

我看过的几个包都有自己的引导文件,但尝试在文件系统上找到一些其他自动加载文件,并假设它可能在哪里。这对我来说似乎不对,但也许是这样?

best practices此处不赘述。

最佳答案

单元测试的最佳实践是一次测试一小部分功能,这个单元不应该依赖外部影响并且使用 bootstrap.php.cache 没有意义旨在引导整个 symfony 框架。

如果有人要 checkout 您的 bundle 并对其做出贡献,您 bundle 中的测试应该能够自行执行,他们应该能够只使用您的代码和依赖项在那里运行测试。一个理想的场景是不需要 Bootstrap 来设置测试套件,你所需要的只是自动加载器。这就是为什么许多 bundle 都有一个加载自动加载器的引导脚本。

自动加载器相对于 bundle 的位置有两种情况,要么你的 bundle 是独立安装的,它将在 vendor/autoload.php 中,要么你的 bundle 作为依赖项安装,这在如果存在标准配置,您会回退到项目自动加载器。

这是可变的,具体取决于目标目录的设置和使用...您需要向上遍历至少两个级别来说明供应商名称和包名称,然后如果您有目标目录配置,则需要遍历增加目标路径中的目录数。

关于Symfony2 : How to handle PHP Unit bootstrap file for contributed bundle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27150302/

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