use Test::More import => ['!pass']; plan skip_all => "Plack is needed for this test" unless Dancer::ModuleLoader->load('Plack::Request'); plan tests => 6; use Dancer ':syntax'; is(setting('apphandler'), 'Standalone', 'default apphandler is standalone'); my $app = Dancer::Handler->get_handler; is(ref($app), 'Dancer::Handler::Standalone', 'got expected handler'); set apphandler => 'PSGI'; is(setting('apphandler'), 'PSGI', 'PSGI is set'); $app = Dancer::Handler->get_handler; is(ref($app), 'Dancer::Handler::PSGI', 'got expected handler'); $ENV{'PLACK_ENV'} = 1; set apphandler => 'Standalone'; $app = Dancer::Handler->get_handler; is(ref($app), 'Dancer::Handler::PSGI', 'got expected handler'); delete $ENV{'PLACK_ENV'}; set apphandler => 'Null'; eval { Dancer::Handler->get_handler }; like $@, qr{Unable to load app handler `Dancer::Handler::Null}, "invalid apphandler is detected";