Codeception \ Util \ Stub :: construct('SomeClass')和新的SomeClass有什么区别?

时间:2016-08-26 05:59:17

标签: php unit-testing codeception stub

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

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

有人可以解释这两种方法之间的区别吗?

1 个答案:

答案 0 :(得分:1)

new SomeClass创建了一个类的regural实例,
Stub::construct('SomeClass')创建了类的测试双精度,替换了一些方法或属性。

http://codeception.com/docs/reference/Stub#construct

中所述
  

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

如果您没有覆盖任何属性或方法,则两者之间没有区别(并且没有理由使用Stub)。