1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
Source: libtest-roo-perl
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Uploaders: gregor herrmann <gregoa@debian.org>
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.
|