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