Protected ApplicationController methods not called in Tests?


I'm currently writing some tests and getting a strange error. My
ApplicationController has following protected method:
before_filter :load_user_vars

def load_user_vars
  @current_user = current_user [other protected method]
  @current_character = @current_user.character

When I now run a test and the @current_character is being used in a
controller that is being tested I get a "RuntimeError: Called id for

Why is that protected method not being called since it's a before_filter
method? And how can I make my test to run this method and declare these


How do you conclude that load_user_vars isn't being run? Perhaps it is
being run, but @current_user.character is just returning nil (which
seems more likely). It's hard to be sure without seeing some more
code. Could you Gist [1] your ApplicationController, and the code
where the RuntimeError is being raised?



It certainly should be called from tests. Are you sure it is not being called?
Try putting a line
at the start of the filter and see if it breaks there.

Otherwise how are you invoking the controller method that should call
the filter?

Have you looked in test.log to see if there is anything of note there?

If still no joy show us the controller action code and the error trace
and which line it is failing on.


Sorry guys, It took me only like ten times going through the code to
find a typo that caused the problem. It's working now, thanks for the
quick help!