Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
This is a technology preview of Test::Builder2. It is by no means complete or stable, but here's something to play with and see where it's going. WHAT TEST::BUILDER2 IS It is a rewrite of the skeleton that holds together all the popular Test:: libraries. Its aim is to increase flexibility and allow Perl authors to do pretty much whatever they please while still not having to worry about the minutiae of test formats or coordinating with other test libraries. WHAT TEST::BUILDER2 IS NOT It is not a rewrite of Test::More. Maybe later we can do Test::More2. It doesn't directly effect how people write tests, but how people write test libraries (which people then use to write tests). Many things that were previously impossible are now possible. COMPATIBILITY Test::Builder, Test::More and Test::Simple will continue to work as before. Test::Builder2 is not directly compatible with Test::Builder, thus the new namespace. Test modules built with Test::Builder will work together with those built with Test::Builder2. WHAT WORKS Test event hooks Multiple formatters (ie. you can output something other than TAP) Assert stacks (ie. no more $Test::Builder::Level) Test::Builder using Test::Builder2 Event watchers (ie. things like Test::NoWarnings) WHAT DOESN'T WORK Structured diagnostics Comments (traditional diag() and note() style diagnostics) Threads subtests Test::Aggregate Test::Group Test::SharedFork WHERE TO LOOK The new code is in lib/Test/Builder2* and tests in t/Builder2/ An outline of the redesign is in Test::Builder2::Design. EXAMPLES Examples can be found in examples/TB2. These include: * Alternative formats * Reimplementation of Test::NoWarnings * Die-on-fail * Debug-on-fail