Я сделал это таким образом, с database_cleaner, чтобы протестировать код, который использует транзакции (который будет конфликтовать с транзакцией транзисторов или любой другой стратегией для выполнения транзакционных тестов, например DatabaseCleaner.strategy =: усечение или: транзакция):
# spec_helper.rb
config.use_transactional_fixtures = false
config.around(:each, :testing_transactions => true) do |ex|
DatabaseCleaner.strategy = nil
ex.run
DatabaseCleaner.strategy = :truncation
end
и в моих тестовых случаях:
it "should not save if one of objects are invalid", :testing_transactions => true