2017-07-27 87 views
0

我正在嘗試使用自定義測試套件來定義我的phpunit.xml配置,該套件以遞歸方式在所需文件夾中加載所有單元測試。具有遞歸目錄表達式的PHPUnit負載測試套件

文件夾路徑的例子:

tests/path/Unit/MyTest.php 
tests/path/path/Unit/MyTest.php 
tests/path/path/path/Unit/MyTest.php 
tests/path/path/path/path/Unit/MyTest.php 
... 
tests/{.../}/Unit/MyTest.php 

我可以定義我的套房是這樣的:

<testsuites> 
    <testsuite name="Project Unit Test Suite"> 
     <directory>tests/*/Unit</directory> 
     <directory>tests/*/*/Unit</directory> 
     <directory>tests/*/*/*/Unit</directory> 
     <directory>tests/*/*/*/*/Unit</directory> 
     ... 
    </testsuite> 
</testsuites> 

有遍歷所有子文件夾,我的表達是隻有一行的方式?

+0

據我所知,你不需要提及的所有子目錄。你只需要'測試' – akond

+0

@akond有一些測試我想排除(功能):) – Aistis

+0

爲什麼不使用''呢? – akond

回答

0

在這種情況下,我應該使用**。我試圖命名目錄在不同的子目錄內,因此**可以在任何地方工作。

<?xml version="1.0"?> 
<phpunit colors="true" backupGlobals="false"> 
    <testsuites> 
    <testsuite name="Test Suite"> 
     <directory>tests</directory> 
     <exclude>**/Functional</exclude> 
    </testsuite> 
    </testsuites> 
</phpunit> 

,或者如果你寧願有事情:

<?xml version="1.0"?> 
<phpunit colors="true" backupGlobals="false"> 
    <testsuites> 
    <testsuite name="Test Suite"> 
     <directory>**/Unit</directory> 
     <exclude>*</exclude> 
    </testsuite> 
    </testsuites> 
</phpunit>