Add safety check for SymfonyDriverFactory to make sure BrowserKitDriver is installed

This commit is contained in:
Kamil Kokot
2020-04-04 14:52:04 +02:00
parent 59eff93985
commit e37704744c

View File

@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace FriendsOfBehat\SymfonyExtension\Driver\Factory; namespace FriendsOfBehat\SymfonyExtension\Driver\Factory;
use Behat\Mink\Driver\BrowserKitDriver;
use Behat\MinkExtension\ServiceContainer\Driver\DriverFactory; use Behat\MinkExtension\ServiceContainer\Driver\DriverFactory;
use FriendsOfBehat\SymfonyExtension\Driver\SymfonyDriver; use FriendsOfBehat\SymfonyExtension\Driver\SymfonyDriver;
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
@@ -40,6 +41,10 @@ final class SymfonyDriverFactory implements DriverFactory
public function buildDriver(array $config): Definition public function buildDriver(array $config): Definition
{ {
if (!class_exists(BrowserKitDriver::class)) {
throw new \RuntimeException('Install "friends-of-behat/mink-browserkit-driver" (drop-in replacement for "behat/mink-browserkit-driver") in order to use the "symfony" driver.');
}
return new Definition(SymfonyDriver::class, [ return new Definition(SymfonyDriver::class, [
$this->kernel, $this->kernel,
'%mink.base_url%', '%mink.base_url%',