Source: libtest-roo-perl Maintainer: Debian Perl Group Uploaders: gregor herrmann Section: perl Priority: optional Build-Depends: debhelper-compat (= 13) Build-Depends-Indep: libbareword-filehandles-perl, libcapture-tiny-perl, libindirect-perl, libmoo-perl, libmoox-types-mooselike-perl, libmultidimensional-perl, libstrictures-perl, libsub-install-perl, perl | libtest-simple-perl, perl Standards-Version: 3.9.5 Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libtest-roo-perl Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libtest-roo-perl.git Homepage: https://metacpan.org/release/Test-Roo Testsuite: autopkgtest-pkg-perl Package: libtest-roo-perl Architecture: all Depends: ${misc:Depends}, ${perl:Depends}, libmoo-perl, libmoox-types-mooselike-perl, libstrictures-perl, libsub-install-perl, perl | libtest-simple-perl Recommends: libbareword-filehandles-perl, libindirect-perl, libmultidimensional-perl Description: 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.