1--TEST-- 2PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', true) 3--FILE-- 4<?php 5namespace NS; 6 7interface IFoo 8{ 9 public function __construct($bar); 10} 11 12class Foo implements IFoo 13{ 14 public function __construct($bar) 15 { 16 } 17} 18 19require __DIR__ . '/../../../vendor/autoload.php'; 20 21$generator = new \PHPUnit_Framework_MockObject_Generator; 22 23$mock = $generator->generate( 24 'NS\Foo', 25 array(), 26 'MockFoo', 27 true 28); 29 30print $mock['code']; 31?> 32--EXPECTF-- 33class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject 34{ 35 private $__phpunit_invocationMocker; 36 private $__phpunit_originalObject; 37 private $__phpunit_configurable = []; 38 39 public function __clone() 40 { 41 $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); 42 } 43 44 public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher) 45 { 46 return $this->__phpunit_getInvocationMocker()->expects($matcher); 47 } 48 49 public function method() 50 { 51 $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount; 52 $expects = $this->expects($any); 53 return call_user_func_array(array($expects, 'method'), func_get_args()); 54 } 55 56 public function __phpunit_setOriginalObject($originalObject) 57 { 58 $this->__phpunit_originalObject = $originalObject; 59 } 60 61 public function __phpunit_getInvocationMocker() 62 { 63 if ($this->__phpunit_invocationMocker === null) { 64 $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable); 65 } 66 67 return $this->__phpunit_invocationMocker; 68 } 69 70 public function __phpunit_hasMatchers() 71 { 72 return $this->__phpunit_getInvocationMocker()->hasMatchers(); 73 } 74 75 public function __phpunit_verify($unsetInvocationMocker = true) 76 { 77 $this->__phpunit_getInvocationMocker()->verify(); 78 79 if ($unsetInvocationMocker) { 80 $this->__phpunit_invocationMocker = null; 81 } 82 } 83} 84