for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace RMiller\BehatSpec\Extension\BehatSpecExtension;
use Behat\Testwork\ServiceContainer\Extension;
use Behat\Testwork\ServiceContainer\ExtensionManager;
use RMiller\BehatSpec\Extension\ErrorExtension\ErrorExtension;
use RMiller\BehatSpec\Extension\PhpSpecExtension\PhpSpecExtension as BehatPhpSpecExtension;
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class BehatExtension implements Extension
{
private $extensions = [];
public function __construct()
$this->extensions = [
new BehatPhpSpecExtension(),
new ErrorExtension(),
];
}
public function process(ContainerBuilder $container)
foreach ($this->extensions as $extension) {
$extension->process($container);
public function initialize(ExtensionManager $extensionManager)
$extension->initialize($extensionManager);
public function load(ContainerBuilder $container, array $config)
$extension->load($container, $config);
public function getConfigKey()
return 'behatspec';
public function configure(ArrayNodeDefinition $builder)
$builder
->addDefaultsIfNotSet()
->children()
->scalarNode('path')->defaultValue('bin/phpspec')->end()
->scalarNode('config')->defaultNull()->end()
->end()
->end();