http://www.perlmonks.org?node_id=719836

mandog has asked for the wisdom of the Perl Monks concerning the following question:

Inspired in part by Lessons learned from getting to 100% with Devel::Cover I'm trying to get 100% coverage with Devel::Cover in our CGI::Application code. I'm using Test::Class. I'm trying to test the a run mode. In  cgiapp_prerun We do:
.... $self->tmpl_path( [ $ENV{MV_CUSTOM_HTML_TEMPLATE_DIR}, $ENV{MV_DEFAULT_HTML_TEMPLATE_DIR} ] ); ...
The code I'm trying to get coverage for is in a run mode:
my $tmpl = $self->load_tmpl('login.tmpl') or die "Failed to open template file 'login.tmpl'";
use Test::Exception; ... sub show_login_page : Tests(1) { my $app = shift->{rm_show_login_page}; $app->tmpl_path( [] ); dies_ok { $app->run() } 'dies if missing template file'; }
If I don't want to mix testing bits into my actual code, do I have an alternative to mucking with the private bits of my CGI::Application object to set $_TEMPLATE_PATH=[]

Replies are listed 'Best First'.
Re: testing: CGI::Application->tmpl_path()
by chromatic (Archbishop) on Oct 28, 2008 at 00:34 UTC
Re: testing: CGI::Application->tmpl_path()
by Anonymous Monk on Oct 28, 2008 at 01:01 UTC
    IMHO, that should be
    MyCGIApplication->new( tmpl_path ... )