In following code -
require “test_helper”
Class SomeControllerTest < ActionController::TestCase
def test_something
record = SomeModel.create :name => ‘test’
record.save!
gets
end
end
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.
On Thu, Mar 18, 2010 at 6:08 AM, Vikrant C. [email protected]
wrote:
end
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.
On Mar 18, 10:13 am, Steven H. [email protected] wrote:
On Thu, Mar 18, 2010 at 6:08 AM, Vikrant C. [email protected] wrote:
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 can see the data during the test if you alter the transaction
isolation level to read uncommitted (at least you can with mysql)
Fred