В чем разница между Codeception \ Util \ Stub :: construct (‘SomeClass’) и новым SomeClass?

Есть два способа создания новых модульных тестов для написания классов в Codeception.

use Codeception\Util\Stub as Stub;
$SomeClass = new SomeClass();
$SomeClass = Stub::construct('SomeClass');

Может кто-нибудь объяснить, в чем разница между этими двумя подходами?

1

Решение

new SomeClass создает обычный экземпляр класса,
Stub::construct('SomeClass') создает двойник класса с заменой некоторых методов или свойств.

Как указано в http://codeception.com/docs/reference/Stub#construct

Свойства и методы могут быть установлены в третьем аргументе. Даже защищенные и частные свойства могут быть установлены.

Нет разницы между ними (и нет причин использовать заглушку), если вы не переопределяете какие-либо свойства или методы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]