O'Reilly logo

Crafting Rails 4 Applications, 2nd Edition by José Valim

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Integration Tests with Capybara

In the previous chapter, we used Rails testing facilities to ensure a PDF was sent back to the client. To guarantee our project works as a contact form, we should create an actual form, submit it to the appropriate endpoint, and verify the email was sent. Those kind of tests are particularly hard to write using only the Rails testing tools. Most of the time, we end up writing direct requests to endpoints:

 
post ​"/contact_form"​, contact_form:
 
{ email: ​"jose@example.com"​, message: ​"hello"​}

Writing a test using post and explicit parameters is fine for some scenarios, particularly for APIs, but it falls flat when testing a contact-form workflow. For example, how do we guarantee there’s a Submit button on ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required