objectManager = Bootstrap::getObjectManager(); $this->objectManager->configure( [ 'preferences' => [SoapClientFactory::class => SoapFactoryMock::class], ServiceActionPerformerFactory::class => [ 'arguments' => [ 'soapClientFactory' => [ 'instance' => SoapFactoryMock::class ] ] ] ] ); } /** * Retrieve the configured Object manager * * @return ObjectManagerInterface */ public function getObjectManager() { return $this->objectManager; } /** * Get an instance of an object using the ObjectManager. * * @param string $className * @return mixed */ protected function getObject($className) { return $this->getObjectManager()->get($className); } /** * Create an instance of an object using the ObjectManager. * * @param string $className * @param array $arguments * @return mixed */ protected function createObject($className, array $arguments = []) { return $this->getObjectManager()->create($className, $arguments); } /** * Retrieve the SoapFactory that's been configured with the Object Manager * * @return SoapFactoryMock */ public function getSoapFactory() { $factory = $this->objectManager->get(SoapClientFactory::class); if ($factory instanceof SoapFactoryMock) { return $factory; } throw new \RuntimeException('SoapClientFactory was not mock. Misconfiguration occurred.'); } }