示例#1
0
 public function provide($class, array $args = array())
 {
     $instance = parent::provide($class, array('spec' => $this->spec));
     $this->factory->setSingleton($instance, $class);
     $this->providedFixtures[] = $instance;
     return $instance;
 }
示例#2
0
 public function provide($className, array $constructorArgs = [])
 {
     $callConstructor = $constructorArgs != self::$NO_CONSTRUCTOR;
     $mockClassName = $this->makeMockClassName($className, $callConstructor);
     if (!class_exists($mockClassName)) {
         $generator = new MockGenerator();
         $code = $generator->generateMock($className, $mockClassName, $callConstructor);
         eval($code);
     }
     if (!$callConstructor) {
         return $this->injector->injectConstructor($mockClassName, $constructorArgs, function () {
             return false;
         });
     }
     return parent::provide($mockClassName, $constructorArgs);
 }