将PHPunit配置文件phpunit命名为phpunit.xml.dist或phpunit有什么区别吗.xml

2022-08-30 15:34:02

有人可以向我解释使用名为或的PHPunit配置文件之间的区别吗?phpunit.xml.distphpunit.xml

官方文件提到了这两个名字:

PHPUnit的XML配置文件(附录C)也可以用来编写测试套件。示例 5.1 显示了一个最小的 phpunit.xml 文件,当以递归方式遍历测试目录时,该文件将添加在 *Test.php 文件中找到的所有 *Test 类。

在没有参数的情况下加载配置时提供更高的优先级。phpunit.xmlconfiguration

如果当前工作目录中存在 phpunit.xml 或 phpunit.xml.dist(按该顺序)并且未使用 --configuration,则将自动从该文件中读取配置。

我确实发现了一些问题(例如,这个.xml.dist文件是否真的需要使用)与以下事实有关,即文件通常用作模板(发行版),应将其复制到没有结尾的版本中以激活它们(例如)。但是PHPunit似乎并非如此,因为它也拾取并运行dist文件。其他问题(我可以使用phpunit.xml用于凭据,phpunit.xml.dist用于测试套件吗?)似乎处理了这两个文件的其他奇怪的用法想法。.dist.dist.htaccess.dist

在Symfony世界中,可重用的捆绑包必须包含文件,我想知道为什么不是文件。phpunit.xml.distphpunit.xml

测试套件不得包含 AllTests.php 脚本,但必须依赖于 phpunit.xml.dist 文件的存在。

因此,如果有人能对此有所了解,我会很高兴;-)


答案 1

如果 或(按该顺序)存在于当前工作目录中并且未使用,则将自动从该文件中读取配置。phpunit.xmlphpunit.xml.dist--configuration

回退(到不存在时)背后的想法是可以签入版本控制,并且可以从版本控制中忽略。这允许开发人员使用自定义配置,而不会冒着意外将其签入版本控制的风险。phpunit.xml.distphpunit.xmlphpunit.xml.distphpunit.xml


答案 2

例如,文件 .dist 使用 git 进行版本控制,您通常不会进行版本控制,因为它是计算机的配置文件。phpunit.xml

文件 .dist 通常是不包含实际部署特定参数的配置文件

如果有 phpunit.xml phpunit 则 phpunit 取phpunit.xml.distphpunit.xml

phpunit.xml.dist这是一个标准文件,phpunit.xml它是一个自定义,没有版本控制以避免发布个人数据


推荐