I need to create some integration tests without cucumber. Can anyone point me in the right direction for how to do that in rails? I tried creating specs under 'spec/integration/' but no matchers are being included. I also tried rspec_integration plugin (http://github.com/ tricycle/rspec-integration) but that only defines a few matchers and response.should be_success doesn't work properly. Any help you can provide would be much appreciated!
on 2010-03-01 21:43
on 2010-03-01 22:30
drewB wrote: > I need to create some integration tests without cucumber. Can anyone > point me in the right direction for how to do that in rails? I tried > creating specs under 'spec/integration/' but no matchers are being > included. I also tried rspec_integration plugin (http://github.com/ > tricycle/rspec-integration) but that only defines a few matchers and > response.should be_success doesn't work properly. > > Any help you can provide would be much appreciated! > You should not need any magic to get rspec working. In order to run integration specs I've been using a very simple spec_helper.rb. Maybe this can be some help to you; http://gist.github.com/318821 -- Joseph Wilk http://blog.josephwilk.net http://www.songkick.com mob: +44(0)7812816431
on 2010-03-01 23:13
El 01/03/2010, a las 21:32, drewB escribió: > I need to create some integration tests without cucumber. Can anyone > point me in the right direction for how to do that in rails? I tried > creating specs under 'spec/integration/' but no matchers are being > included. I also tried rspec_integration plugin (http://github.com/ > tricycle/rspec-integration) but that only defines a few matchers and > response.should be_success doesn't work properly. > > Any help you can provide would be much appreciated! You could try Steak: http://github.com/cavalle/steak Cheers, Wincent
on 2010-03-02 00:02
Belwo is a spec that when used with the default spec_helper fails
with:
NoMethodError in 'test matchers should be able to find be_success'
undefined method `be_success' for
#<ActionController::Integration::Session:0x7fc081ef13e0>
----------
require 'spec_helper'
describe "test matchers" do
it "should be able to find be_success" do
get '/'
response.should be_success
end
end
on 2010-03-02 00:15
On Mon, Mar 1, 2010 at 4:59 PM, drewB <dbatshaw@gmail.com> wrote: > > describe "test matchers" do > it "should be able to find be_success" do > get '/' > response.should be_success > end > > end Try adding this to spec/spec_helper.rb Spec::Runner.configure {|c| c.include Spec::Matchers}
on 2010-03-02 01:18
That fixed it! Thanks! Any idea why that was needed for integration specs and not MVCs?
on 2010-03-02 18:55
Looks like I spoke too soon. I made a mistake when testing your suggest. When I add that I still get the same failure.
on 2010-03-03 00:56
On Tue, Mar 2, 2010 at 11:53 AM, drewB <dbatshaw@gmail.com> wrote: > Looks like I spoke too soon. I made a mistake when testing your > suggest. When I add that I still get the same failure. I just did the following using rails 2.3.5, rspec 1.3.2 and rspec-rails 1.3.0: $ rails foo $ cd foo $ script/generate rspec $ mkdir spec/integration $ script/generate integration_spec widgets $ rake db:migrate && db:test:prepare Then I modified spec/integration/widgets_spec.rb as follows: require 'spec_helper' describe "Widgets" do it "shows me the list" do get "/widgets" response.should be_success end end Then I ran this: $ script/spec spec/integration/ And here's the output I saw: F 1) 'Widgets ..' FAILED expected success? to return true, got false /Users/dchelimsky/tmp/foo/spec/integration/widgets_spec.rb:6: So everything is working as it should on a fresh app. Did you update spec/spec_helper.rb the last time you upgraded the app? Are you using an earlier version of rspec-rails or rspec?
on 2010-03-03 19:31
Let me start by saying thank you for the time you are spending helping me. It appears to be a rails version issue. I ran though the same steps you outlined on my machine and continued to get the same error message, "undefined method `be_success'". I am running rspec 1.3.0, rspec-rails 1.3.2, rails 2.3.4. When I upgraded to rails 2.3.5 and tried again, everything worked. The project I am working on is frozen at rails 2.1.2 so am still looking for a way to get this to work with rails 2.1.2. Should I downgrade to an earlier version of RSpec or spec-rails? If so, which one?
on 2010-03-03 19:41
On Wed, Mar 3, 2010 at 12:24 PM, drewB <dbatshaw@gmail.com> wrote: > Let me start by saying thank you for the time you are spending helping > me. You're welcome. > It appears to be a rails version issue. I ran though the same steps > you outlined on my machine and continued to get the same error > message, "undefined method `be_success'". I am running rspec 1.3.0, > rspec-rails 1.3.2, rails 2.3.4. When I upgraded to rails 2.3.5 and > tried again, everything worked. > > The project I am working on is frozen at rails 2.1.2 so am still > looking for a way to get this to work with rails 2.1.2. Should I > downgrade to an earlier version of RSpec or spec-rails? If so, which > one? 1.3.2 is tested against the last fix release of each series: 2.3.5, 2.2.2, 2.1.2, 2.0.5. So it should work with 2.1.2. If not, it's a bug, so go ahead and file a bug report at http://rspec.lighthouseapp.com - feel free to reference this thread. Cheers, David
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.