2

对于给定的 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测试代码。

4

1 回答 1

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');
于 2013-07-22T13:26:22.263 回答