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 に答える