fonsecas72/behat-failurehook-extension

Exposes stuff when a test fails

Installs: 29 441

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 3

Forks: 0

Open Issues: 0

Type:behat-extension

1.0.1 2016-08-12 14:07 UTC

This package is not auto-updated.

Last update: 2024-04-27 17:53:10 UTC


README

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.

How your behat.yml should look like:

default:
    extensions:
        Fonsecas72\FailureExpoExtension:
            expounds:
                - Features\FailureHooks\MySQLDumpExpound

You should not need anything else to make it work.

Adding your own hooks:

E.g. of a hook:

<?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';
    }
}

How it works

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.