[Catalyst] How to handle role checking using a MockObject for Catalyst contexts

Robert Rothenberg robrwo at gmail.com
Tue Aug 7 14:42:36 GMT 2012


On 06/08/12 18:36 Tomas Doran wrote:
> 
> On 6 Aug 2012, at 15:56, Robert Rothenberg wrote:
> 
>> My application has a lot of tests scripts (and even some utility scripts)
>> that create a Test::MockObject that imitates a Catalyst context.
>>
>> But it's largely a kluge, especially for handling authentication with things
>> like
>>
>>  $c->check_any_use_role(...)
>>
>> So, what are the best practices for generating a fake Catalyst context that
>> is, for all intents, logged-in as a particular user?
>>
> 
> Test::MockObject is fairly evil (it uses UNIVERSAL::can and UNIVERSAL::isa which are fundamentally broken).. But this solution is entirely workable.
> 
> Personally, latterly, I've just been using Moose directly when I want to mock a class:
> 
> Moose::Meta::Class->create(….
> 
> e.g. https://gist.github.com/199215 (from http://bobtfish.livejournal.com/265829.html)
> 

Thanks. That looks like a much better solution.

Are there plans to make a CPAN module or include a mock context for tests in
the Catalyst distro?




More information about the Catalyst mailing list