Undefined method `matches?' for "be valid":String

290 views
Skip to first unread message

jhc

unread,
Aug 19, 2010, 4:30:06 PM8/19/10
to shoulda
I'm a testing noob trying to get underway with Rails 3 RC. I followed
the instructions to install cucumber, cucumber-rails, rspec, rspec-
rails, and shoulda. I also made shoulda the testing framework in
config/application.rb. So far so good.

But when I created my first model, the generator added event_test.rb
into test/unit with the following contents:

require 'test_helper'

class EventTest < ActiveSupport::TestCase
should "be valid" do
assert Event.new.valid?
end
end

This looked OK, so I ran it:

/Users/jhc/.rvm/gems/ruby-1.9.2-head/gems/rspec-
expectations-2.0.0.beta.12/lib/rspec/expectations/handler.rb:11:in
`handle_matcher': undefined method `matches?' for "be valid":String
(NoMethodError)
from /Users/jhc/.rvm/gems/ruby-1.9.2-head/gems/rspec-
expectations-2.0.0.beta.12/lib/rspec/expectations/extensions/kernel.rb:
27:in `should'
from test/unit/event_test.rb:4:in `<class:EventTest>'
from test/unit/event_test.rb:3:in `<top (required)>'
from /Users/jhc/.rvm/gems/ruby-1.9.2-head/gems/rake-0.8.7/lib/rake/
rake_test_loader.rb:5:in `load'
from /Users/jhc/.rvm/gems/ruby-1.9.2-head/gems/rake-0.8.7/lib/rake/
rake_test_loader.rb:5:in `block in <main>'
from /Users/jhc/.rvm/gems/ruby-1.9.2-head/gems/rake-0.8.7/lib/rake/
rake_test_loader.rb:5:in `each'
from /Users/jhc/.rvm/gems/ruby-1.9.2-head/gems/rake-0.8.7/lib/rake/
rake_test_loader.rb:5:in `<main>'
rake aborted!
Command failed with status (1): [/Users/jhc/.rvm/rubies/ruby-1.9.2-
head...]

Is it supposed to work out-of-the-box, or do I need to do something
else? The Shoulda documentation shows tests being defined similarly
to the above but didn't suggest anything else was needed.
Reply all
Reply to author
Forward
0 new messages