测试容器(单例)

时间:2013-07-22 04:37:00

标签: perl testing

对于给定的Base.pm模块,我有以下代码:

use Application::Container;

my $container;

sub container {
    unless ( defined($container) ) {
        $container = Application::Container->instance;
    }
    return $container;
}

sub configuration {
    my ($class) = @_;
    return $class->container->get('Application::Base');
}

sub log {
    my ($class) = @_;
    $class->container->get('Application::Log');
}

# and many more similar subroutines
...

Application :: Container是一个对象容器模块,如Micro::Container

如何为此Base.pm模块编写测试代码?

为什么需要测试?

我不知道,但对于我的应用程序中的每个.pm.pl文件,我应该有相应的.t测试代码。

1 个答案:

答案 0 :(得分:1)

use Test::More;
use Application::Container;

my $test_container = $Application::Container::container;

is($test_container,undef,'container is not defined');

my $test_container = Application::Container->container();
my $test_container_singleton = $Application::Container::container;

ok($test_container,$test_container_singleton,'container is good');
相关问题