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

226 views
Skip to first unread message

Philippe Creux

unread,
Oct 6, 2009, 7:00:07 PM10/6/09
to Ruby on Rails: Core
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. :)

Cheers,

Philippe

Chad Woolley

unread,
Oct 6, 2009, 10:00:25 PM10/6/09
to rubyonra...@googlegroups.com

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.

James Mead

unread,
Oct 7, 2009, 4:55:18 AM10/7/09
to rubyonra...@googlegroups.com
2009/10/7 Chad Woolley <thewoo...@gmail.com>:

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.
http://blog.floehopper.org/

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

taryneast

unread,
Oct 7, 2009, 10:49:37 AM10/7/09
to Ruby on Rails: Core
silly question but...

sudo gem install mocha

?

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

Cheers,
Taryn

Chad Woolley

unread,
Oct 7, 2009, 11:12:02 AM10/7/09
to rubyonra...@googlegroups.com
On Wed, Oct 7, 2009 at 1:55 AM, James Mead <james...@gmail.com> wrote:
> 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.

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

Philippe Creux

unread,
Oct 7, 2009, 5:23:49 PM10/7/09
to rubyonra...@googlegroups.com
I didn't know that the tests rely on mocha. So sudo gem install mocha did the trick. :)

φ
Reply all
Reply to author
Forward
0 new messages