是否可以在PHPUnit模拟构建器中构建这样的对象(同时实现接口和使用特征)?
<?php
class FooClassThatD implements BarInterface
{
use BazTrait;
}
答案 0 :(得分:4)
我不认为使用本机模拟对象方法是可行的,因为它们使用特定模板来模拟具有不允许任何扩展点的特征的类。您可以使用特定于测试的类轻松地绕过它,从中构建模拟。
abstract class BarWithBazTraitTestClass implements BarInterface
{
use BazTrait;
}
为此类创建一个模拟,就像创建任何其他抽象类一样。
$mock = $this->getMockForAbstractClass('BarWithBazTraitTestClass');