phpunit extend Test suite


Я расширил PHPUnit_Framework_TestSuite, чтобы перезаписать setUp и tearDown methode, потому что мне нужно, чтобы PHPUnit выполнял некоторые операции до и после набора тестов. (тест находится в нескольких классах TestCase.)

class MyTestSuite extends PHPUnit_Framework_TestSuite {

    protected function setUp()
    {
        //do some stuff before all tests are run
    }

    protected function tearDown()
    {
        //do some stuff after all tests are run
    }
}

Как в файле конфигурации xml я могу сказать phpunit использовать этот класс TestSuite, а затем привязать к нему класс testCase? Все, что я могу найти, - это пример, подобный этому, который, похоже, не указывает, какой класс набора тестов phpunit должен использовать.

<phpunit>
  <testsuites>
    <testsuite name="money">
      <file>tests/IntlFormatterTest.php</file>
      <file>tests/MoneyTest.php</file>
      <file>tests/CurrencyTest.php</file>
    </testsuite>
  </testsuites>
</phpunit>
1 3

1 ответ:

В https://phpunit.de/manual/current/en/appendixes.configuration.html#appendixes.configuration.testsuites Есть такая информация:

Элемент и его один или несколько дочерних элементов могут используется для составления набора тестов из наборов тестов и тестовых случаев.

Я использую Ecomdev_PHPUnit в Magento, который делает подкласс, как вы хотите, посмотрите на его xml:

<testsuite name="Magento Test Suite">
     <file>app/code/community/EcomDev/PHPUnit/Test/Suite.php</file>
</testsuite>

Так что просто пройдите полный путь набора тестов, я думаю!