diff --git a/src/Context/Environment/Handler/ContextServiceEnvironmentHandler.php b/src/Context/Environment/Handler/ContextServiceEnvironmentHandler.php index 07815e0..d7e5d35 100644 --- a/src/Context/Environment/Handler/ContextServiceEnvironmentHandler.php +++ b/src/Context/Environment/Handler/ContextServiceEnvironmentHandler.php @@ -159,13 +159,13 @@ final class ContextServiceEnvironmentHandler implements EnvironmentHandler try { $this->symfonyKernel->getBundle('FriendsOfBehatSymfonyExtensionBundle'); } catch (\InvalidArgumentException $exception) { - throw new \DomainException(sprintf( - 'Kernel "%s" used in Behat in "%s" environment with debug %s needs to have "%s" bundle registered.', + throw new \RuntimeException(sprintf( + 'Kernel "%s" used by Behat with "%s" environment and debug %s needs to have "%s" bundle registered.', get_class($this->symfonyKernel), $this->symfonyKernel->getEnvironment(), $this->symfonyKernel->isDebug() ? 'enabled' : 'disabled', FriendsOfBehatSymfonyExtensionBundle::class - ), 0, $exception); + )); } return $this->symfonyKernel->getContainer(); diff --git a/src/Driver/SymfonyDriver.php b/src/Driver/SymfonyDriver.php index 97387a5..e2d1d26 100644 --- a/src/Driver/SymfonyDriver.php +++ b/src/Driver/SymfonyDriver.php @@ -12,16 +12,16 @@ final class SymfonyDriver extends BrowserKitDriver { public function __construct(KernelInterface $kernel, string $baseUrl) { - $testClient = $kernel->getContainer()->get('test.client'); - - if (!$testClient instanceof Client) { + if (!$kernel->getContainer()->has('test.client')) { throw new \RuntimeException(sprintf( - 'Expected service "test.client" to be an instance of "%s", got "%s" instead.', - Client::class, - \is_object($testClient) ? \get_class($testClient) : \gettype($testClient) + 'Kernel "%s" used by Behat with "%s" environment and debug %s does not have "test.client" service. ' . "\n" . + 'Please make sure the kernel is using "test" environment or have "framework.test" configuration option enabled.', + get_class($kernel), + $kernel->getEnvironment(), + $kernel->isDebug() ? 'enabled' : 'disabled' )); } - parent::__construct($testClient, $baseUrl); + parent::__construct($kernel->getContainer()->get('test.client'), $baseUrl); } }