Re: alias_method_chain and ActiveSupport::TestCase

erik
Wed, 21 Oct 2009 18:50:06 -0000

Just an update:

 It is some kind of order of file loading or something.

If i put
def setup_with_ts
    puts "setup with ts"
    setup_without_ts
  end
  alias_method_chain :setup, :ts

that directly into a test with a setup method it works fine, but not
if i define it in the test_helper.rb

Erik

On Oct 21, 11:38 am, erik <e...-9T/GIyPsA//QT0dZR+AlfA@public.gmane.org>
wrote:
> 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