The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

CatalystX::Test::Most - Test base pulling in Catalyst::Test, Test::More, Test::Fatal, and HTTP::Request::Common for unit tests on Catalyst applications.

Synopsis

 use CatalystX::Test::Most "MyApp";

 subtest "Tests with plain Catalyst::Test" => sub {
     ok request("/")->is_success, "/ is okay";
     is exception { request("/no-such-uri") }, undef,
        "404s do not throw exceptions";
     is request("/no-such-uri")->code, 404, "And do return 404";
 };

 subtest "Tests with Test::WWW::Mechanize::Catalyst" => sub {
    my $mech = mech();
    $mech->get_ok("/", "GET /");
    $mech->content_contains("OHAI", "That's my app all right");
 };

 done_testing();

 #    ok 1 - / is okay
 #    ok 2 - 404s do not throw exceptions
 #    ok 3 - And do return 404
 #    1..3
 # ok 2 - Tests with plain Catalyst::Test
 #    ok 1 - GET /
 #    ok 2 - My app all right
 #    1..2
 # ok 3 - Tests with Test::WWW::Mechanize::Catalyst

Exported Functions from Other Packages

Catalyst::Test

Everything, so see its documentation: Catalyst::Test. CatalystX::Test::Most is basically an overloaded version of it.

Test::More

All of its exported functions; see its documentation: Test::More.

Test::Fatal

See exception in Test::Fatal.

Test::WWW::Mechanize::Catalyst

You have easy access to a Test::WWW::Mechanize::Catalyst object. There are no related functions, just the object methods.

New Functions

  • ctx

    This is a wrapper to get the context object. It will only work on local tests (not remote servers).

  • mech

    Get a Test::WWW::Mechanize::Catalyst object. Unless specified, the app name and the arguments are recycled from the import of CatalystX::Test::Most.

Notes

strictures are exported.

Copyright and License

Ashley Pond V. Artistic License 2.0.