Records created while tests are running are not being saved.

In following code -

require "test_helper"
Class SomeControllerTest < ActionController::TestCase

  def test_something
    record = SomeModel.create :name => 'test'!


Above record is not being saved in the database. I can confirm this by
pausing execution by calling gets() and doing a "SELECT * FROM
some_models" right into the test database which returns no rows.

Tests are ran inside a transaction and are rolled back after each
test. In a separate process (i.e. ./script/dbconsole) you will not see
the data create from a test, even if you pause execution.

You *should* be able to see the insert (and the roll back) happening in test.log

Even though the transaction is rolled back, the sequence on the
primary key is still advanced, so you should see that effect in a
separate process.

- Steven


you can see the data during the test if you alter the transaction
isolation level to read uncommitted (at least you can with mysql)


Just for records. Line #47 -