Created
October 19, 2011 14:47
-
-
Save jakzal/1298503 to your computer and use it in GitHub Desktop.
Running Behat in PHPUnit to calculate code coverage
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
use Symfony\Component\Console\Input\ArrayInput; | |
use Symfony\Component\Console\Output\ConsoleOutput; | |
use Symfony\Bundle\FrameworkBundle\Console\Application; | |
use Behat\BehatBundle\Command\BehatCommand; | |
class BehatTest extends KernelAwareTest | |
{ | |
/** | |
* @group behat | |
*/ | |
public function testThatBehatScenariosMeetAcceptanceCriteria() | |
{ | |
try { | |
$input = new ArrayInput(array('behat', '-e' => 'test', '--format' => 'progress')); | |
$output = new ConsoleOutput(); | |
$application = new Application($this->kernel); | |
$command = new BehatCommand('behat'); | |
$command->setApplication($application); | |
$result = $command->run($input, $output); | |
$this->assertEquals(0, $result); | |
} catch (\Exception $exception) { | |
$this->fail($exception->getMessage()); | |
} | |
} | |
} |
Good idea @tvlooy! Other way of doing it might be using filters:
$input = new ArrayInput(array(
'behat',
'-e' => 'test',
'--format' => 'progress',
'--tags' => '@orm,@database'
));
That works over here. Is xdebug installed and enabled?
Seems I managed to fix a problem with failing scenarios in big suites: http://www.zalas.eu/fixing-failing-behat-scenarios-in-large-suites
Is the "KernelAwareTest" here the same as this gist: https://gist.github.com/1373056 ?
@khepin yes but here's the original: https://gist.github.com/1319290
Updated for sf2.1 https://gist.github.com/4594469
I guess that is meant to be used when there are no http requests (mink steps) Behat/Behat#92
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Seems I reached the point where I had too much features being executed with this. Random features broke and I couldn't reproduce it manually. I now solved this by splitting it up and putting just one feature in one of wrapper. You can add your feature like this:
$input = new ArrayInput(array(
'behat',
'-e' => 'test',
'--format' => 'progress',
'features' => 'path/to/your.feature'
));