运行 多个 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 两次,然后在需要时合并结果。
我有一个项目分为以下几个部分:
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 两次,然后在需要时合并结果。