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=[]