Запуск тестового теста PHPUnit несколько раз

Я ищу способ запуска тестового набора несколько раз с разными настройками.

Я тестирую класс доступа к базе данных (десятки методов тестирования) и хочу протестировать его в "нормальном режиме", а затем в "режиме отладки". Оба режима должны давать одинаковые результаты теста.

Есть ли возможность сделать это в настройках тестового набора? Или переопределить метод run()? Конечно, я не хочу писать тест дважды:)

Спасибо

Изменить: GOT IT!

public function run(PHPUnit_Framework_TestResult $result = NULL)
{
    if ($result === NULL) {
        $result = $this->createResult();
    }

    /**
     * Run the testsuite multiple times with different debug level
     */
    $this->debugLevel = 0;
    print "Setting debug level to: " . $this->debugLevel . PHP_EOL;
    $result->run($this);

    $this->debugLevel = 8;
    print "Setting debug level to: " . $this->debugLevel . PHP_EOL;
    $result->run($this);

    $this->debugLevel = 16;
    print "Setting debug level to: " . $this->debugLevel . PHP_EOL;
    $result->run($this);

    return $result;
}

public function setUp()
{
    parent::setUp();
    $this->myclass->setOptions('debug', $this->debugLevel);
}

Ответ 1

PHPUnit предлагает тестовые декораторы. документация фактически повторяет декоратор как пример того, что делать с декоратором. Декоратор был бы идеальным способом реализации поведения многоразовым способом, не завися от подкласса PHPUnit_Framework_TestCase.