Php Codeception\Util\Stub::construct(';SomeClass';)和new SomeClass之间有什么区别?

Php Codeception\Util\Stub::construct(';SomeClass';)和new SomeClass之间有什么区别?,php,unit-testing,codeception,stub,Php,Unit Testing,Codeception,Stub,有两种方法可以在Codeception中创建新的类编写单元测试 use Codeception\Util\Stub as Stub; $SomeClass = new SomeClass(); $SomeClass = Stub::construct('SomeClass'); 有人能解释一下这两种方法的区别吗 newsomeclass创建类的常规实例, Stub::construct('SomeClass')创建类的测试双精度,并替换一些方法或属性 如中所述 属性和方法可以在第三个参数中设置

有两种方法可以在Codeception中创建新的类编写单元测试

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

有人能解释一下这两种方法的区别吗

newsomeclass
创建类的常规实例,
Stub::construct('SomeClass')
创建类的测试双精度,并替换一些方法或属性

如中所述

属性和方法可以在第三个参数中设置。甚至可以设置受保护和私有属性

如果不重写任何属性或方法,则两者之间没有区别(也没有理由使用存根)