NAME
Test::Mojo::Role::Debug - Test::Mojo role to make debugging test failures easier
SYNOPSIS
use Test::More;
use Test::Mojo::WithRoles 'Debug';
my $t = Test::Mojo::WithRoles->new('MyApp');
$t->get_ok('/')->status_is(200)
->element_exists('existant')
->d # Does nothing, since test succeeded
->element_exists('non_existant')
->d # Dump entire DOM on fail
->d('#foo') # Dump a specific element on fail
->da # Always dump
->da('#foo') # Always dump a specific element
->da('', 'file.html') # Always dump to a file
;
done_testing;
DESCRIPTION
When you chain up a bunch of tests and they fail, you really want an easy way to dump up your markup at a specific point in that chain and see what's what. This module comes to the rescue.
METHODS
You have all the methods provided by Test::Mojo, plus these:
d
# On test failure:
$t->d; # print entire DOM
$t->d('#foo'); # print a specific element
$t->d('', 'file.html'); # dump entire DOM into a file
$t->d('#foo', 'file.html'); # dump specific element into a file
Returns its invocant. On failure of previous tests (see "success" in Test::Mojo), dumps the DOM of the current page to the screen. Takes an optional selector to be passed to "at" in Mojo::DOM, in which case, only the markup of that element will be dumped.
A filename can be provided as the second argument to put the contents into the file instead. To dump entire DOM, use undef
or empty string as the first argument.
NOTE: the plugin detects Mojolicious's error page and will dump only the error text from that page, instead of the entire DOM.
da
$t->da;
$t->da('#foo');
$t->da('', 'file.html');
$t->da('#foo', 'file.html');
Same as "d", except it always dumps, regardless of whether the previous test failed or not.
SEE ALSO
Test::Mojo ("or" in Test::Mojo in particular), Mojo::DOM
REPOSITORY
Fork this module on GitHub: https://github.com/zoffixznet/Test-Mojo-Role-Debug
BUGS
To report bugs or request features, please use https://github.com/zoffixznet/Test-Mojo-Role-Debug/issues
If you can't access GitHub, you can email your request to bug-test-mojo-role-debug at rt.cpan.org
AUTHOR
CONTRIBUTORS
LICENSE
You can use and distribute this module under the same terms as Perl itself. See the LICENSE
file included in this distribution for complete details.