Skip to Main Content
Learning Rails
book

Learning Rails

by Simon St. Laurent, Edd Dumbill
November 2008
Beginner content levelBeginner
448 pages
12h 25m
English
O'Reilly Media, Inc.
Content preview from Learning Rails

Integration Testing

Integration testing is the most complicated testing Rails supports directly. It tests complete requests coming in from the outside, running through routing, controllers, models, the database, and even views. Rails does not generate any integration tests by default, as creating them requires detailed knowledge of the complete application and what it is supposed to do. Integration tests are stored in tests/integration and look much like the classes for other kinds of tests. They call similar methods and also make assertions, but the assertions are different and the flow can cover multiple interactions, as Example 12-15 demonstrates.

Example 12-15. An integration test that tries adding a student

require 'test_helper' # Integration tests covering the manipulation of student objects class StudentsTest < ActionController::IntegrationTest def test_adding_a_student # get the new student form get '/students/new' # could be new_students_path # check there are boxes to put the name in # trivial in our case, but illustrates how to check output HTML assert_select "input[type=text][name='student[given_name]']" assert_select "input[type=text][name='student[family_name]']" assert_difference('Student.count') do post '/students/create', :student => { :given_name => "Fred", :family_name => "Smith", :date_of_birth => "1999-09-01", :grade_point_average => 2.0, :start_date => "2008-09-01" } end assert_redirected_to "/students/#{assigns(:student).id}" follow_redirect! # for completeness, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Learning Rails 5

Learning Rails 5

J. Mark Locklear, Eric J Gruber, Barnabas Bulpett
Mastering Ruby Closures

Mastering Ruby Closures

Benjamin Tan Wei Hao
Ruby on Rails® Bible

Ruby on Rails® Bible

Timothy Fisher

Publisher Resources

ISBN: 9780596154943Supplemental ContentErrata