12/08
2016
Wallogit.com
2017 © Pedro Peláez
Exposes stuff when a test fails
This behat extension will trigger actions when your test failed that you can use e.g. to take a screenshot, save the html content, or something more specific as it allows you to add your own thing., (*1)
How your behat.yml should look like:, (*2)
default:
extensions:
Fonsecas72\FailureExpoExtension:
expounds:
- Features\FailureHooks\MySQLDumpExpound
You should not need anything else to make it work., (*3)
E.g. of a hook:, (*4)
<?php
namespace Features\FailureHooks;
class MySQLDumpExpound extends \Fonsecas72\FailureExpoExtension\Expounds\Expound
{
public function expose()
{
$fs = new \Symfony\Component\Filesystem\Filesystem();
$destination = 'build/'.$this->description;
$fs->mkdir($destination);
shell_exec('mysqldump -uuser -ppass db > '.$destination.'/dbdump.sql');
echo PHP_EOL.'| MysqlDump captured ~> '.$destination.'/dbdump.sql';
}
}
Your failure-hook should extend \Fonsecas72\FailureExpoExtension\Expounds\Expound and implement expose method.
This method will be called when a failure occurs.
Failure-hook extension will then expose a special "description" property that identifies the failing scenairo., (*5)