GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Test::Able(3) User Contributed Perl Documentation Test::Able(3)

Test::Able - xUnit with Moose

0.10

 package MyTest;

 use Test::Able;
 use Test::More;

 startup         some_startup  => sub { ... };
 setup           some_setup    => sub { ... };
 test plan => 1, foo           => sub { ok( 1 ); };
 test            bar           => sub {
     my @runtime_list = 1 .. 42;
     $_[ 0 ]->meta->current_method->plan( scalar @runtime_list );
     ok( 1 ) for @runtime_list;
 };
 teardown        some_teardown => sub { ... };
 shutdown        some_shutdown => sub { ... };

 MyTest->run_tests;

An xUnit style testing framework inspired by Test::Class and built using Moose. It can do all the important things Test::Class can do and more. The prime advantages of using this module instead of Test::Class are flexibility and power. Namely, Moose.

This module was created for a few of reasons:

  • To address perceived limitations in, and downfalls of, Test::Class.
  • To leverage existing Moose expertise for testing.
  • To bring Moose to the Perl testing game.

In addition to exporting for Moose, Test::Able will export a handful of functions that can be used to declare test-related methods.
startup/setup/test/teardown/shutdown
A more Moose-like way to do method declaration. The syntax is similar to "has" in Moose except its for test-related methods.

These start with one of startup/setup/test/teardown/shutdown depending on what type of method you are defining. Then comes any attribute name/value pairs to set in the Test::Able::Role::Meta::Method-based method metaclass object. The last pair must always be the method name and the coderef. This is to disambiguate between the method name/code pair and any another attribute in the method metaclass that happens to take a coderef. See the synopsis or the tests for examples.

1. Build some test classes: a, b, & c. The classes just have to be based on Test::Able.

2. Fire up an instance of any of them to be the runner object. Any test object can serve as the test_runner_object including itself.

 my $b_obj = b->new;

3. Setup the test_objects in the test_runner_object.

 $b_obj->test_objects( [
     a->new,
     $b_obj,
     c->new,
 ] );

4. Do the test run. The test_objects will be run in order.

 $b_obj->run_tests;

Test::Able::Cookbook
support
 #moose on irc.perl.org
    
code
 http://github.com/jdv/test-able/tree/master
    
Moose
Test::Class
Test::Builder

Justin DeVuyst, "justin@devuyst.com"

Copyright 2009 by Justin DeVuyst.

This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.

2011-11-20 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.