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
...
在哪裏應用::容器是一個對象容器模塊,如Micro::Container。
如何爲此Base.pm模塊編寫測試代碼?
爲什麼你需要測試?
我不知道,但對於我的應用程序中的每個.pm
和.pl
文件,我應該有一個相應的.t
測試代碼。
我真的不明白這個問題。我如何編寫測試代碼?那麼,你打開你的編輯器,然後按鍵盤上的鍵?具體問題是什麼?測試一個Singleton?一般的Perl測試? – innaM
@innaM測試單例。嗯,例如當我打電話$ configuration = Application :: Container-> configuration();並使用Dumper打印我得到'Application :: Base'模塊的所有內容,我不知道如何比較期望值和獲得的值,我試過了:ok($ configuration-> isa('Application :: Base')) ,「這是正確的課程」);但它告訴我,它不能在未引用的引用上調用該方法 – ado