3

是否可以在 PHPUnit 模拟构建器中构建这样的对象(实现接口并同时使用特征)?

<?php

class FooClassThatD implements BarInterface
{
    use BazTrait;
}
4

1 回答 1

4

我认为本机模拟对象方法不可能做到这一点,因为它们使用特定模板来模拟具有不允许任何扩展点的特征的类。您可以使用构建模拟的特定于测试的类轻松解决它。

abstract class BarWithBazTraitTestClass implements BarInterface
{
    use BazTrait;
}

为这个类创建一个模拟,就像为任何其他抽象类一样。

$mock = $this->getMockForAbstractClass('BarWithBazTraitTestClass');
于 2012-10-15T17:57:22.070 回答