2015-11-21 36 views
2

我有一個結構化的,像這樣的一個項目:PHPUnit - 多個項目文件夾中的一個覆蓋報告?

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/modules/覆蓋率結果。任何人都可以提出完成這個最好的方法嗎?

+0

調用是否有必要每個文件夾需要自己單元的配置? – ins0

+0

@ ins0 - 不完全。我已經配置好了,因爲每個文件夾本身都是獨立測試的。 – cody

回答

1

您可以在項目根文件夾中創建一個phpunit.xml

運行PHP單元時,只需指向您的項目根目錄,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

+0

這很乾淨 - 謝謝! – cody

相關問題