PHPUnit - 来自多个项目文件夹的一份覆盖率报告?
PHPUnit - one coverage report from multiple project folders?
我有一个结构如下的项目:
project
├── app
│ ├── phpunit.xml
│ ├── src
│ └── tests
│ └── unit
└── modules
├── module1
│ ├── phpunit.xml
│ ├── src
│ └── tests
│ └── unit
└── module2
├── phpunit.xml
├── src
└── tests
└── unit
所有核心interfaces/classes都在app/src
,所有extensions/implementations都在modules/**
。因此,src
文件夹包含所有控制器、模型等,相邻的 tests/unit
文件夹包含这些对象的所有单元测试。
我正在尝试生成一份 coverage.xml
报告(更重要的是一份 HTML 报告),其中包含 所有 测试的覆盖率结果app/
和 modules/
。谁能建议实现此目标的最佳方法?
您可以在项目根文件夹中创建一个 phpunit.xml
。
当 运行ning PHP Unit 仅指向您的项目根目录时,PHPUnit 将 运行 遍历他可以找到的每个测试文件。
生成的 coverage.xml
也是如此,现在包含每个测试文件的所有结果。
如果您想单独测试 运行,请查看 PHP 单元选项 testsuite
。
示例:
project
├── phpunit.xml
├── app (testsuite app)
└── modules
├── module1 (testsuite module2)
└── module2 (testsuite module1)
插入你的 phpunit.xml
<testsuites>
<testsuite name="app">
<directory>app</directory>
</testsuite>
<testsuite name="module1">
<directory>modules/module1</directory>
</testsuite>
<testsuite name="module2">
<directory>modules/module1</directory>
</testsuite>
</testsuites>
并通过
调用
phpunit --configuration phpunit.xml --testsuite module1
我有一个结构如下的项目:
project
├── app
│ ├── phpunit.xml
│ ├── src
│ └── tests
│ └── unit
└── modules
├── module1
│ ├── phpunit.xml
│ ├── src
│ └── tests
│ └── unit
└── module2
├── phpunit.xml
├── src
└── tests
└── unit
所有核心interfaces/classes都在app/src
,所有extensions/implementations都在modules/**
。因此,src
文件夹包含所有控制器、模型等,相邻的 tests/unit
文件夹包含这些对象的所有单元测试。
我正在尝试生成一份 coverage.xml
报告(更重要的是一份 HTML 报告),其中包含 所有 测试的覆盖率结果app/
和 modules/
。谁能建议实现此目标的最佳方法?
您可以在项目根文件夹中创建一个 phpunit.xml
。
当 运行ning PHP Unit 仅指向您的项目根目录时,PHPUnit 将 运行 遍历他可以找到的每个测试文件。
生成的 coverage.xml
也是如此,现在包含每个测试文件的所有结果。
如果您想单独测试 运行,请查看 PHP 单元选项 testsuite
。
示例:
project
├── phpunit.xml
├── app (testsuite app)
└── modules
├── module1 (testsuite module2)
└── module2 (testsuite module1)
插入你的 phpunit.xml
<testsuites>
<testsuite name="app">
<directory>app</directory>
</testsuite>
<testsuite name="module1">
<directory>modules/module1</directory>
</testsuite>
<testsuite name="module2">
<directory>modules/module1</directory>
</testsuite>
</testsuites>
并通过
调用phpunit --configuration phpunit.xml --testsuite module1