有人可以向我解释一下使用名为
phpunit.xml.dist
或 phpunit.xml
的 PHPunit 配置文件有什么区别吗?
官方文档提到了这两个名字:
PHPUnit 的 XML 配置文件(附录 C)也可用于编写测试套件。示例 5.1 显示了一个最小的 phpunit.xml 文件,当递归遍历测试目录时,该文件将添加在 *Test.php 文件中找到的所有 *Test 类。
在加载没有
phpunit.xml
参数的配置时,给予 configuration
更高的优先级。
如果 phpunit.xml 或 phpunit.xml.dist (按此顺序)存在于当前工作目录中并且未使用 --configuration,则将自动从该文件中读取配置。
我确实发现了一些问题(例如,这个 .xml.dist 文件真的需要使用吗),这些问题与以下事实有关:
.dist
文件通常用作模板(分发版),应该将其复制到没有以 .dist
结尾来激活它们(例如 .htaccess.dist
)。但 PHPunit 的情况似乎并非如此,因为它也拾取并运行 dist 文件。其他问题(我可以使用 phpunit.xml 作为凭证,使用 phpunit.xml.dist 作为测试套件吗?)似乎处理了关于这两个文件的其他奇怪的使用想法。
在 Symfony 世界中,可重用包必须包含
phpunit.xml.dist
文件,我想知道为什么不使用 phpunit.xml
文件来代替。
测试套件不得包含 AllTests.php 脚本,但必须依赖于 phpunit.xml.dist 文件的存在。
因此,如果有人能够阐明这一点,我会很高兴;-)
如果当前工作目录中存在
phpunit.xml
或 phpunit.xml.dist
(按此顺序)并且未使用 --configuration
,则将自动从该文件读取配置。
回退背后的想法(当
phpunit.xml.dist
不存在时到phpunit.xml
)是可以将phpunit.xml.dist
签入版本控制,并且可以从版本控制中忽略phpunit.xml
。这允许开发人员使用自定义配置,而无需冒意外将其签入版本控制的风险。
文件 .dist 例如使用 git 进行版本控制,您通常不进行版本控制
phpunit.xml
,因为它是您机器的配置文件。
文件 .dist 通常是配置文件,不包含实际部署特定的参数
如果有 phpunit.xml 并且
phpunit.xml.dist
phpunit 需要 phpunit.xml
phpunit.xml.dist
这是一个标准文件, phpunit.xml 这是一个自定义文件,没有版本控制以避免发布个人数据
但是实际中phpunit.xml什么时候使用呢? 它应该包含什么与 phpunit.xml.dist 不同的内容? 提供一些具体的例子(最好超过一个),而不是通常的通用定义。