是否可以在运行时处理的 PHPUnit XML 文件中存在配置差异,以便根据执行平台配置设置?例如,在 Ubuntu 上使用 Color,而不是在 Windows 中。
解释:
我正在使用不同的开发平台,并希望确保我们的代码适用于任一平台上的 Web 服务器。此外,我们使用的工具位于不同的平台上。例如,开发人员的内部后端服务器(PHPUnit、PHPDocs、Wiki、其他工具)位于 Ubuntu 计算机上。开发人员积极使用基于 Windows 的 PC。
当开发人员更改代码时,我们希望他们能够在将代码签入我们的存储库之前测试其代码是否有效。因此,他们在本地机器上运行 PHPUnit、PHP_CodeSniffer、PHPMD 和 PHPDocs 以查看是否可以提交。
然后,主系统将看到提交的代码,并将重新运行这些测试以及其他所有人在 Ubuntu 机器上的代码更改,用测试结果、代码覆盖率等更新公司范围的页面......这些测试甚至可能可以在具有不同操作系统/语言配置的不同计算机上运行。通过 Selenium 进行的 Web 浏览器测试也从此时开始,同样,跨许多不同的 Web 服务器/操作系统/浏览器版本。
随着我们引入新工具、不同项目等...,XML 文件随着排除文件、测试套件配置等而变化...因此,我们将此文件保留在源代码树中,以确保开发人员在使用时拥有最新的设置运行他们的测试。
我希望能够通过平台以不同的方式配置一些设置(这将适用于我们所有的组合,因为我可以设置正在使用的任何变量),而不必在源之后复制不同的文件以确保收到更改。
这是合理的,还是会使用像 Jenkins 这样的东西来帮助我避免这个问题?但是,我试图让 Windows PC 上的工具尽可能基本,以方便开发人员快速运行它们,否则他们将忽略该步骤。