运行 多个 phpunit.xml 个文件?

Run multiple phpunit.xml files?

我有一个项目分为以下几个部分:

ProjectName/
  ModuleOne/
  ModuleTwo/

每个模块都有一个 phpunit.xml 和一个测试目录。每个模块也有自己的 composer.json 等等,让我可以轻松地将其打包为一个库,或者允许您根据需要获取特定模块。

我遇到的问题是,由于每个模块都有自己的带有 phpunit.xml 文件的测试文件夹,我需要在 运行 项目的根目录下创建另一个 phpunit.xml s 每个模块测试。我想我可以通过以下方式做到这一点:

<testsuites>
  <testsuite name="ModuleOne">
    <directory>ModuleOne/tests/</directory>
  </testsuite>
  <testsuite name="Moduletwo">
    <directory>Moduletwo/tests/</directory>
  </testsuite>
</testsuites>

但是当我从根目录 运行 phpunit 时,我收到一条消息说没有测试 运行。为什么?我指定了测试套件名称和测试所在的目录...

有什么我遗漏的吗?

不幸的是,PHPUnit 仅在当前工作目录中自动应用 phpunit.xml 或 phpunit.xml.dist(请参阅 --configuration here 的文档)。

可能有一种方法可以从测试本身动态设置 PHPUnit 选项,或者您可以尝试使用自定义测试套件加载程序或结果打印机。但我建议只 运行 PHPUnit 两次,然后在需要时合并结果。