perl Testing 读书笔记(测试一个简单的类)
上一篇 /
下一篇 2012-04-04 22:53:00
/ 个人分类:perl相关
类的代码如下,Greeter.pm
package Greeter;
sub new {
my ($class, %args) = @_;
bless \%args, $class;
}
sub name {
my $self = shift;
return $self->{name};
}
sub age {
my $self = shift;
return $self->{age};
}
sub greet {
my $self = shift;
return "Hello, my name is " . $self->name() . "!";
}
1;
测试脚本如下,TestGreeter.pl
#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 4;
use_ok( 'Greeter' ) or exit;
my $greeter = Greeter->new( name => 'Emily', age => 21 );
isa_ok( $greeter, 'Greeter' );
is( $greeter->age(), 21, 'age() should return age for object' );
like( $greeter->greet(), qr/Hello, .+ is Emily!/,
'greet() should include object name' );
运行结果如下
D:\loveperl>perl TestGreeter.pl
1..4
ok 1 - use Greeter;
ok 2 - The object isa Greeter
ok 3 - age() should return age for object
ok 4 - greet() should include object name
进行了4项测试。
第一项测试检查该类的对象构造器是否返回了正确无误的Greeter对象。
第二项isa_ok()会查验实例变量是否确实是已经定义过的引用。如果它尚未定义,或者不是引用,更甚于它是其它类的对象,而不是指定类或其派生对象的类,都会导致测试失败
第三项测试,检查对象的年龄是否和构造对象时给出的Emily的年龄一致。
最后一个测试使用like()来比较前两个参数的值。
收藏
举报
TAG: