Я ищу способ запуска теста несколько раз с разными настройками.Запуск тестового теста 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);
}
Посмотрите на функции '@ dataProvider', которые испускают тестовые наборы данных. – Sven
Я знаю данные dataProviders :) Я просто хочу изменить одну простую настройку класса, а затем снова запустить ВСЕ методы тестирования. Что-то вроде: run(); $ Class-> setDebug (истина); бег(); –
Итак, я предполагаю, что это не обычный случай. Вы пытались расширить исходный класс тестов и изменить одну вещь в 'setUp()'. Это должно наследовать весь тестовый код под новым ярлыком и дважды запускать этот материал. – Sven