Test::Unit::TestCase

Test::Unit::TestCase is a unit testing framework base class.
Download

Test::Unit::TestCase Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Christian Lemburg
  • Publisher web site:
  • http://search.cpan.org/~clemburg/Test-Unit-0.14/lib/Test/Unit/tests/AllTests.pm

Test::Unit::TestCase Tags


Test::Unit::TestCase Description

Test::Unit::TestCase is a unit testing framework base class. Test::Unit::TestCase is a unit testing framework base class.SYNOPSIS package FooBar; use base qw(Test::Unit::TestCase); sub new { my $self = shift()->SUPER::new(@_); # your state for fixture here return $self; } sub set_up { # provide fixture } sub tear_down { # clean up after test } sub test_foo { # test the foo feature } sub test_bar { # test the bar feature }(Taken from the JUnit TestCase class documentation)A test case defines the "fixture" (resources need for testing) to run multiple tests. To define a test case:implement a subclass of TestCasedefine instance variables that store the state of the fixtureinitialize the fixture state by overriding set_up()clean-up after a test by overriding tear_down().Each test runs in its own fixture so there can be no side effects among test runs. Here is an example: package MathTest; use base qw(Test::Unit::TestCase); sub new { my $self = shift()->SUPER::new(@_); $self->{value_1} = 0; $self->{value_2} = 0; return $self; } sub set_up { my $self = shift; $self->{value_1} = 2; $self->{value_2} = 3; }For each test implement a method which interacts with the fixture. Verify the expected results with assertions specified by calling $self->assert() with a boolean value. sub test_add { my $self = shift; my $result = $self->{value_1} + $self->{value_2}; $self->assert($result == 5); }Once the methods are defined you can run them. The normal way to do this uses reflection to implement run_test. It dynamically finds and invokes a method. For this the name of the test case has to correspond to the test method to be run. The tests to be run can be collected into a TestSuite. The framework provides different test runners, which can run a test suite and collect the results. A test runner either expects a method suite() as the entry point to get a test to run or it will extract the suite automatically.If you do not like the rather verbose backtrace that appears when a test fails, you can use the quell_backtrace() method. You will get any message provided, but not the backtrace.Requirements:· Perl Requirements: · Perl


Test::Unit::TestCase Related Software