[Catalyst] Testing View
Matt S Trout
dbix-class at trout.me.uk
Fri Apr 18 20:11:22 BST 2008
On Thu, Apr 17, 2008 at 02:56:49PM +1000, Yao Wang wrote:
> Dear Friends,
>
> I have just started working on a project using Catalyst. I am trying my hand at testing and got the following issue :(
>
> I have created the following test file:
>
> my $c = MyApp -> prepare();
>
> MyApp::Controller::MyController::MyAction(undef, $c);
>
> ok($c->stash->{template} eq $expected_template_name, "comparing template returned");
>
> Now, all seemed to work fine till i realized that its better to explicitly
> forward $c to MyApp::View::TT rather than doing in the end method. But after adding this line to my controller action i got this error:
>
> "Modification of non-creatable array value attempted, subscript -1 at
> /usr/lib/perl5/vendor_perl/5.8.8/Catalyst/Dispatcher.pm line 186."
>
> I guess this is happening because $c->stash->template does not exist anymore?
>
> Any way to get around this problem.
use Catalyst::Test 'MyApp';
use Test::WWW::Mechanize::Catalyst 'MyApp';
You can't just call ->prepare with no engine, bypass the entire dispatch
setup and then expect the dispatcher to work.
Also, a controller is an object. Calling methods as subroutines is
-just- -wrong-.
--
Matt S Trout Need help with your Catalyst or DBIx::Class project?
Technical Director http://www.shadowcat.co.uk/catalyst/
Shadowcat Systems Ltd. Want a managed development or deployment platform?
http://chainsawblues.vox.com/ http://www.shadowcat.co.uk/servers/
More information about the Catalyst
mailing list