PHPUnit使用递归目录表达式加载测试套件

时间:2017-07-27 07:47:34

标签: phpunit expression

我正在尝试使用自定义测试套件定义我的phpunit.xml配置,该套件以递归方式将所有单元测试加载到所需的文件夹中。

文件夹路径示例:

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>

有没有办法迭代我的表达式只有一行的所有子文件夹?

1 个答案:

答案 0 :(得分: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>