Aspect::Library::TestClass - give Test::Class test methods an IUT (implementation under test)
# append IUT to params of all test methods in matching packages # place this in your test script aspect TestClass => call qr/::tests::/;
Aspect::Modular
Frequently my Test::Class test methods look like this:
Test::Class
sub some_test: Test { my $self = shift; my $subject = IUT->new; # send $subject messages and verify expected results ... }
After installing this aspect, they look like this:
sub some_test: Test { my ($self, $subject) = @_; # send $subject messages and verify expected results ... }
In the test class you must add one template method to provide the class of the IUT:
sub subject_class { 'MyApp::Person' }
See the Aspect pods for a guide to the Aspect module.
XUL-Node tests use this aspect extensively.
XUL-Node
To install Aspect, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Aspect
CPAN shell
perl -MCPAN -e shell install Aspect
For more information on module installation, please visit the detailed CPAN module installation guide.