phpunit - mockbuilder - установить внутреннее свойство фиктивного объекта

Можно ли создать фиктивный объект с отключенным конструктором и заданными вручную защищенными свойствами?

Вот идиотский пример:

class A {
    protected $p;
    public function __construct(){
        $this->p = 1;
    }

    public function blah(){
        if ($this->p == 2)
            throw Exception();
    }
}

class ATest extend bla_TestCase {
    /** 
        @expectedException Exception
    */
    public function testBlahShouldThrowExceptionBy2PValue(){
        $mockA = $this->getMockBuilder('A')
            ->disableOriginalConstructor()
            ->getMock();
        $mockA->p=2; //this won't work because p is protected, how to inject the p value?
        $mockA->blah();
    }
}

Итак, я хочу ввести значение p, которое защищено, поэтому я могут. Должен ли я определить сеттер или IoC, или я могу сделать это с помощью phpunit?

Ответы на вопрос(3)

Ваш ответ на вопрос