Package: libtest-roo-perl (1.004-1)
Links for libtest-roo-perl
Download Source Package libtest-roo-perl:
- Homepage [metacpan.org]
module for composable, reusable tests with roles and Moo
Test::Roo allows you to compose Test::More tests from roles. It is inspired by the excellent Test::Routine module, but uses Moo instead of Moose. This gives most of the benefits without the need for Moose as a test dependency.
Test files are Moo classes. You can define any needed test fixtures as Moo attributes. You define tests as method modifiers -- similar in concept to "subtest" in Test::More, but your test method will be passed the test object for access to fixture attributes. You may compose any Moo::Role into your test to define attributes, require particular methods, or define tests.
This means that you can isolate test *behaviors* into roles which require certain test *fixtures* in order to run. Your main test file will provide the fixtures and compose the roles to run. This makes it easy to reuse test behaviors.
For example, if you are creating tests for Awesome::Module, you could create the test behaviors as Awesome::Module::Test::Role and distribute it with your module. If another distribution subclasses Awesome::Module, it can compose the Awesome::Module::Test::Role behavior for its own tests.
No more copying and pasting tests from a super class! Superclasses define and share their tests. Subclasses provide their own fixtures and run the tests.
Other Packages Related to libtest-roo-perl
- dep: libmoo-perl (>= 1.000008)
- Minimalist Object Orientation library (with Moose compatibility)
- dep: libmoox-types-mooselike-perl
- module providing some Moosish types and a type builder
- dep: libstrictures-perl
- Perl module to turn on strict and make all warnings fatal
- dep: libsub-install-perl
- module for installing subroutines into packages easily
- dep: perl
- Larry Wall's Practical Extraction and Report Language