У меня есть функция модели, которую я хочу убедиться, что использует транзакцию. Например:
class Model
def method
Model.transaction do
# do stuff
end
end
end
Мой текущий подход заключается в том, чтобы заблокировать вызов метода внутри блока, чтобы поднять исключение ActiveRecord::Rollback
, а затем проверить, действительно ли база данных изменилась. Но это означает, что если по какой-то причине реализация внутри блока изменилась, тогда тест сломался бы.
Как бы вы протестировали это?