In general, I would say that the rails app doesn't get launched to be tested against. The various pieces (models, controllers, etc) can be used (somewhat) independently (using rails' test support in some places) without booting a rails server, and the tests for these various components run directly against them.
When running end-to-end integration/acceptance tests (depending on your nomenclature), you're usually using a tool such as rack-test to mimic an HTTP client or capybara to mimic user interactions in a web browser. Rails is built on top of rack[1], which provides a simple means to make requests to the rails app w/o actually having to run it as an HTTP server.
Finally, if you do use capybara to do end-to-end tests involving the javascript layer as well, it actually boots the rails app [2] as an HTTP server in a separate thread using webrick (or a similar application server).
HTH,
Myron