Testing controllers isn’t the easiest thing in the world. Well, let me rephrase that: testing them is a cinch; what’s difficult, at least at first, is determining what to test.
Should a controller test verify text on the page? Should it touch the database? Should it ensure that variables exist in the view? If this is your first hay-ride, these things can be confusing! Let me help.
Controller tests should verify responses, ensure that the correct database access methods are triggered, and assert that the appropriate instance variables are sent to the view.