Includin a statement in each method

I am running tests and I would like to include

logger.info("\n\n STARTING #{get_method_name} \n\n")

in the beginning of each method in my account_test.rb file. How would I
do that without having to put it in each method??

I am running tests and I would like to include

logger.info("\n\n STARTING #{get_method_name} \n\n")

in the beginning of each method in my account_test.rb file. How
would I
do that without having to put it in each method??

stick it in the setup method.

Fred

you first need to make sure that logger is defined in test_helper. If
you have not done that, you need to add:
def logger
    RAILS_DEFAULT_LOGGER
  end
in your test_helper.rb

then in your unit or functional tests, you can add the logger message
as part of the setup method which runs once before every action in the
test
Def setup
   logger.info ....
end
the setup method is within the class definition

I am assuming that you defined the get_method_name in test_helper as
well.

saljamil wrote:

you first need to make sure that logger is defined in test_helper. If
you have not done that, you need to add:
def logger
    RAILS_DEFAULT_LOGGER
  end
in your test_helper.rb

then in your unit or functional tests, you can add the logger message
as part of the setup method which runs once before every action in the
test
Def setup
   logger.info ....
end
the setup method is within the class definition

I am assuming that you defined the get_method_name in test_helper as
well.

On Sep 10, 11:35�am, Joel Saltzmanjoelh <rails-mailing-l...@andreas-

yeah I did the helper stuff. I didnt realize i could create a setup
method and that would automatically run before the test methods. Thanks!

def setup
logger.info("\n\n STARTING #{get_method_name} \n\n")
end

gives me

STARTING setup_without_fixtures

in my log. If I put my logger in each method it prints fine.

def test_account_create
  logger.info("\n\n STARTING #{get_method_name} \n\n")
  assert Account.create(:name => "Bob's Tofu House", :short_name =>
"bths")
end

will print

STARTING test_account_create

any ideas why?

I am assuming that the get_method_name just gets the name of the
method that is currently running. In that case, since the logger
statement in the setup methods, it will get that name which is not
what you want. I don't know of any way not to include something in
each method. You can create an instance variable in each method and
then pass it to the 'teardown' method which runs after each method is
run (setup runs before each method is run). I am not sure this will
save you a lot of typing. You can also add to your get_method_name the
logger but you sill have to call that method from each method.