activeresource: rake test: undefined method `mock' `expects' `any_instance'

Hi all,

I have few patches for active resource I would like to publish but I can't get the test suite passing.

In: rails/activeresource (2-3-stable) Running: rake test Got the following:   1) Error: test_exists_without_http_mock(BaseTest): NoMethodError: undefined method `any_instance' for ActiveResource::Connection:Class     ./test/base_test.rb:986:in `test_exists_without_http_mock'

  2) Error: test_accept_http_header(ConnectionTest): NoMethodError: undefined method `mock' for #<ConnectionTest: 0x7f4c3e0e5010>     ./test/connection_test.rb:203:in `test_accept_http_header'

  3) Error: test_ssl_error(ConnectionTest): NoMethodError: undefined method `expects' for #<ActiveResource::Connection:0x7f4c3e260840>     ./test/connection_test.rb:223:in `test_ssl_error'

  4) Error: test_timeout(ConnectionTest): NoMethodError: undefined method `mock' for #<ConnectionTest: 0x7f4c3e0e49a8>     ./test/connection_test.rb:185:in `test_timeout'

It would be great if someone could help me. :slight_smile:

Cheers,

Philippe

These look familiar but I can't remember what caused them. Maybe related to mocha? The 2-3 branch is passing on the CI box (ci.rubyonrails.org), so you can try the following:

* Check your environment against the CI environment (all environment info is printed at the bottom of the build logs). If anything is different (ruby version, installed gems, etc), try making it match. Especially mocha. Run GemInstaller against ci/geminstaller.yml to automatically install required gems. * Check the history of the 2-3 branch CI builds, see if any of them have this failure * Check ci/ci_setup_notes.txt against your setup (although these are getting outdated, latest setup scripts are in my master branch at thewoolleyman) * see if you can get it working on a different box, if so, see why it passes there.

This is likely to be due to using Mocha >= 0.9.6 when Mocha is being loaded *before* Test::Unit.

You need to make sure you are loading Mocha *after* Test::Unit. There are a number of ways of achieving this depending on how you are using Mocha.

Please contact us on the Mocha mailing list [1] if you need more help.

Regards, James.

[1] http://groups.google.com/group/mocha-developer/

silly question but...

sudo gem install mocha

?

I know that caught me the first time I tried to run the test suite. :stuck_out_tongue:

Cheers, Taryn

This should "Just Work" with the standard rake tasks to run the rails tests. If it doesn't in some environments, we should try to fix it. Please follow up on this thread with any potential improvements to the Rails test suite, rake tasks, or test documentation

I didn’t know that the tests rely on mocha. So sudo gem install mocha did the trick. :slight_smile:

φ