You don't test private methods.  You test your public interface, and
by testing your public interface your implementation is also tested.
As far as testing controllers I wrote a somewhat lenghty post on it

http://mark-story.com/posts/view/testing-cakephp-controllers-the-hard-way

As for testing email component, I almost always do this with a Mock
object so that I can avoid any potential emails being sent by running
the test suite, and to allow for better unit separation.  Using mocks
is just a good practice to get into as well.

-Mark

On Jan 18, 8:28 am, Fran Iglesias <fran...@buabua.com> wrote:
> Hi,
>
> I'm trying to write a test case for a private method in a controller.  
> This controller uses the Email component.
>
> The method purpose is to send notifications via email to users.
>
> http://code.assembla.com/milhojas/subversion/nodes/dev/app/controller...
>
> I want to test if the message contains all data in the proper format.
>
> The test case, tries to send the email in debug delivery mode and  
> compares the expected message to the Message.Email.messsage session  
> variable.
>
> http://code.assembla.com/milhojas/subversion/nodes/dev/app/tests/case...
>
> The problem is that the Email component fails when trying to set a  
> flash message (EmailComponent line 767) beacause Email->Session  
> component is not an object. This only happens in the test context.
>
> So, my question is: what preparations have I to do in order to run  
> this test?
>
> Thank you.
> --
> Fran Iglesias
> fran...@buabua.com
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to