Symfony2:如何处理贡献的bundle的PHP单元引导文件



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

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

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

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

此处不详细介绍最佳做法。

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

如果有人签出您的捆绑包并为其做出贡献,则捆绑包中的测试应该能够自行执行,他们应该能够仅使用您的代码和依赖项在那里运行测试。一个理想的情况是,设置测试套件不需要引导程序,您只需要自动加载器。 这就是为什么许多捆绑包都有一个加载自动加载器的引导脚本。

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

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

相关内容

  • 没有找到相关文章

最新更新