В тех случаях, когда я не использую фиктивные объекты, а вместо этого создаю одноразовый подкласс для тестового примера, я называю класс префиксом тестового набора и помещаю его в тот же файл после самого тестового примера.
Префикс тестового случая исключает любую вероятность того, что имя класса будет конфликтовать с любыми реальными классами, а размещение кода в том же файле облегчает работу с тестом. Если вы обнаружите, что вам нужно создать несколько подклассов для одного теста, это, вероятно, сигнал о том, что ваш класс делает слишком много.
class MyClassTest extends PHPUnit_Framework_TestCase
{
function setUp() {
$this->fixture = new MyClassTest_DoesNothing;
}
}
class MyClassTest_DoesNothing extends MyClass
{
...
}