A Data Driven Testing Framework
Testing is usually the ugly part of Perl module authoring. Perl gives you a
standard way to run tests with Test::Harness, and basic testing primitives
with Test::More. After that you are pretty much on your own to develop a
testing framework and philosophy. Test::More encourages you to make your
own framework by subclassing Test::Builder, but that is not trivial.
Test::Base gives you a way to write your own test framework base class that
_is_ trivial. In fact it is as simple as two lines:
use Test::Base -Base;
A module called 'MyTestFramework.pm' containing those two lines, will give
all the power of Test::More and all the power of Test::Base to every test
file that uses it. As you build up the capabilities of 'MyTestFramework',
your tests will have all of that power as well.
'MyTestFramework' becomes a place for you to put all of your reusable
testing bits. As you write tests, you will see patterns and duplication,
and you can "upstream" them into 'MyTestFramework'. Of course, you don't
have to subclass Test::Base at all. You can use it directly in many
applications, including everywhere you would use Test::More.
Test::Base concentrates on offering reusable data driven patterns, so that
you can write tests with a minimum of code. At the heart of all testing you
have inputs, processes and expected outputs. Test::Base provides some clean
ways for you to express your input and expected output data, so you can
spend your time focusing on that rather than your code scaffolding.