我的项目结构如下:
project
├── app
│ ├── phpunit.xml
│ ├── src
│ └── tests
│ └── unit
└── modules
├── module1
│ ├── phpunit.xml
│ ├── src
│ └── tests
│ └── unit
└── module2
├── phpunit.xml
├── src
└── tests
└── unit
所有核心接口/类都在app/src
中,所有扩展/实现都在modules/**
中。因此,src
文件夹包含所有控制器,模型等,相邻的tests/unit
文件夹包含这些对象的所有单元测试。
我尝试生成一个coverage.xml
报告(更重要的是HTML报告),其中包含来自app/
的{em>所有测试的覆盖率结果和modules/
。有人能建议最好的方法吗?
答案 0 :(得分:3)
您可以在项目根文件夹中创建一个phpunit.xml
。
运行PHP Unit时只需指向项目根目录,PHPUnit将运行他可以找到的每个测试文件。
生成的coverage.xml
也是如此,它现在包含了每个测试文件的所有结果。
如果您想分开测试运行,请查看PHPunit选项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