NAME

forkprove - forking prove

SYNOPSIS

forkprove -MMoose -MCatalyst -MDBIx::Class -lr t

DESCRIPTION

forkprove is a forking version of prove that allows you to preload modules with -M and then run each test after forking, potentially makes most of the tests to run faster without an overhead of loading the same modules again and again, while having an isolated, clean testing environment with a fork.

CAVEATS

Test::More

Do not try to preload Test::Builder and friends because doing so will not output clean TAP.

Known patterns to fail

Following kind of tests are known to fail.

  • Tests that rely on the value of $FindBin::Bin.

  • Tests that expects END block to run after each .t

WHY

Test::Aggregate allows you to create a nested TAP output by running a whole bunch of .t files from a directory.

forkprove shares the basic idea, but it creates a whole new test environment by making a copy of the process with fork for each test, which means it could run your tests that rely on the singleton state etc. without modifying the code to run with Test::Aggregate.

AUTHOR

Tatsuhiko Miyagawa

SEE ALSO

prove, TAP::Parser