alias_method_chain and ActiveSupport::TestCase

erik
Wed, 21 Oct 2009 18:38:58 -0000

I''m trying to add some functionality to the setup method of all my
tests.

I added a method called setup_with_ts in the test_helper and chained
it using alias_method_chain :setup, :ts and that works great for every
test that does not define setup in the test.

So for my unit tests i tried also defining the same method
setup_with_ts in a
class ActiveSupport::TestCase
  def setup_with_ts
    puts "setup with ts"
    setup_without_ts
  end
  alias_method_chain :setup, :ts
end

it was just a test to see what would happen.

if i called this method in the setup of a test like :
def setup
  setup_with_ts
  .
 .
.
end

that will call it just fine so the method exists.  but if i remove the
setup_with_ts line and run a test the setup method in the test runs,
but it never runs my aliased chained method.

i''m not sure why the alias_method_chain seems to work for test with no
setup method and not for one that has a setup method defined.  Any
help would be great.

Thanks.
Erik