2016-08-26 1 views
1

Существует два способа создания тестов для ввода нового класса в Codeception.В чем разница между Codeception Util Stub :: construct ('SomeClass') и новым SomeClass?

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

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

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

Смежные вопросы