Test Your Knowledge

Quiz

  1. What three modes can Rails run applications under?

  2. How much data do you need to put into fixtures?

  3. Can the results of one test mess up the results of a test that comes later?

  4. How do you check to see whether a variable was assigned a value?

  5. How do you check to make sure a variable contains an acceptable value?

  6. What kind of component gets tested with Rails functional tests?

  7. How do you send a controller a fake HTTP POST request?

  8. How do you know whether a controller redirected a request?

  9. How can you tell whether a response includes a td element containing a particular value?

Answers

  1. Rails can run in development mode, test mode, and production mode.

  2. Your fixtures should include all the kinds of data you want to run tests against.

  3. Each test should be completely independent, as Rails will reload all of the fixtures between tests. No test should have an effect on any other test.

  4. validates_presence_of lets you check whether a variable has a value.

  5. The valid? method lets you ask a model if its value would pass validation.

  6. In Rails, functional tests are tests of controllers.

  7. The post method lets you see how a controller would respond to a POST request.

  8. The assert_redirected method lets you test whether the controller sent a simple response or a redirect.

  9. The assert_select method lets you specify an element name and a match pattern it should contain, and tells you whether an element whose content matches that pattern exists.

Get Learning Rails: Live Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.