12/08
2016
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)