Я не знаю, решит ли это проблему, но моя первая попытка исправить это сделать базовый класс абстрактным и иметь два подкласса: WsCached_Test
и WsUncached_Test
.
abstract class BaseWsTester extends PHPUnit_Framework_TestCase
{
public function setUp()
{
$this->ws = new Ws();
}
// lots of tests
}
class WsUncached_Test extends BaseWsTester
{
// inherits lots of tests
}
class WsCached_Test extends BaseWsTester
{
public function setUp()
{
parent::setUp();
$this->ws->setCacheResults(true);
}
// inherits lots of tests
}
Имя BaseWsTester
выбрано для того, чтобы PHPUnit не думал, что это контрольный пример, и его абстрактность должна помочь. Если это не работает, переместите setUp()
вниз в каждый подкласс и удалите его из базового класса.