You want to create a suite of automated tests that test the functionality of your Rails application.
Rails can't write your test code any more than it can write your views and controllers for you, but it does make it easy to organize and run your automated tests.
When you use the
./script/generate command to create
controllers and models, not only do you save time, but you also get a
generated framework for unit and functional tests. You can get pretty
good test coverage by filling in the framework with tests for the
functionality you write.
So far, all the examples in this chapter have run against a
Rails application's development database, so you only needed to make
sure that the
of your config/database.yml file
was set up correctly. Unit test code runs on your application's test
database, so now you need to set up your
test section as well. Your
mywebapp_test database doesn't have to have
any tables in it, but it must exist and be accessible to Rails.
When you generate a model with the
generate script, Rails also generates a unit
test script for the model in the test directory.
It also creates a fixture, a YAML file containing
test data to be loaded into the
mywebapp_test database. This is the data
against which your unit tests will run:
./script/generate model User exists app/models/ exists test/unit/ exists test/fixtures/ create app/models/user.rb create test/unit/user_test.rb create test/fixtures/users.yml ...