Сначала напишем TestCase
package SipPaymentTest;
use strict;
use base qw(Test::Unit::TestCase);
sub new {
my $self = shift()->SUPER::new(@_);
return $self;
}
sub set_up {
my $self = shift;
}
sub test_some_feature {
my $self = shift;
$self->assert(0);
}
Написав несколько случаев тестирования, нужен и инструмент запуска тестов:
%cat run.pl
#!/usr/bin/perl
use Test::Unit::TestRunner;
use Test::Unit::TestSuite;
require "lib/config.pl";
require "lib/aub.pl";
require "aubtest.pl";
require "nopaymenttest.pl";
require "sippaymenttest.pl";
require "sipprotocoltest.pl";
my $test = shift;
my $runner = Test::Unit::TestRunner->new();
my $suite = Test::Unit::TestSuite->empty_new("AUB Payment Terminal Test Suite");
if (!$test || $test eq 'AUB') {
$suite->add_test(Test::Unit::TestSuite->new('AUBTest'));
}
if (!$test || $test eq 'NoPayment') {
$suite->add_test(Test::Unit::TestSuite->new('NoPaymentTest'));
}
if (!$test || $test eq 'SipPayment') {
$suite->add_test(Test::Unit::TestSuite->new('SipPaymentTest'));
}
if (!$test || $test eq 'SipProtocol') {
$suite->add_test(Test::Unit::TestSuite->new('SipProtocolTest'));
}
my $result;
$runner->do_run($suite, 0);
Такой инструмент можно использовать для запуска как одиночных тестов, так и все сразу
%./run.pl NoPayment
........
Time: 1 wallclock secs ( 0.46 usr + 0.03 sys = 0.49 CPU)
OK (8 tests)
%./run.pl
..............F..........
Time: 6 wallclock secs ( 1.32 usr + 0.12 sys = 1.44 CPU)
!!!FAILURES!!!
Test Results:
Run: 24, Failures: 1, Errors: 0
There was 1 failure:
1) sippaymenttest.pl:50 - test_pay(SipPaymentTest)
'2009-09-03 13:07:16.427436' did not match /(?-xism:2009-11-22)/
Test was not successful.
Комментариев нет:
Отправить комментарий