Skip to content
Browse files

Beef up test fixtures documentation for test/test_helper.rb

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2801 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 24e3dbb commit 0a6d6082539f68733f44117ee0c7828c89dd3cfb @jeremy jeremy committed Oct 29, 2005
Showing with 19 additions and 4 deletions.
  1. +19 −4 railties/helpers/test_helper.rb
View
23 railties/helpers/test_helper.rb
@@ -3,11 +3,26 @@
require 'test_help'
class Test::Unit::TestCase
- # Turn off transactional fixtures if you're working with MyISAM tables in MySQL
+ # Transactional fixtures accelerate your tests by wrapping each test method
+ # in a transaction that's rolled back on completion. This ensures that the
+ # test database remains unchanged so your fixtures don't have to be reloaded
+ # between every test method. Fewer database queries means faster tests.
+ #
+ # Read Mike Clark's excellent walkthrough at
+ # http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
+ #
+ # Every Active Record database supports transactions except MyISAM tables
+ # in MySQL. Turn off transactional fixtures in this case; however, if you
+ # don't care one way or the other, switching from MyISAM to InnoDB tables
+ # is recommended.
self.use_transactional_fixtures = true
-
- # Instantiated fixtures are slow, but give you @david where you otherwise would need people(:david)
+
+ # Instantiated fixtures are slow, but give you @david where otherwise you
+ # would need people(:david). If you don't want to migrate your existing
+ # test cases which use the @david style and don't mind the speed hit (each
+ # instantiated fixtures translates to a database query per test method),
+ # then set this back to true.
self.use_instantiated_fixtures = false
# Add more helper methods to be used by all tests here...
-end
+end

0 comments on commit 0a6d608

Please sign in to comment.
Something went wrong with that request. Please try again.