Использование Sequel в тесте Rails - PullRequest
1 голос
/ 24 мая 2011

У меня есть модульный тест в Rails, модель, которую он тестирует, использует Sequel по нашим собственным внутренним причинам, но данные теста создаются с использованием factory_girl, которое, похоже, оборачивает весь тест в транзакцию activerecord. Я могу использовать self.use_transactional_fixtures = false, но мне было интересно, есть ли способ не оставлять тестовые данные в моей базе данных после того, как мой тест завершен.

1 Ответ

0 голосов
/ 24 мая 2011

Я не уверен, какую библиотеку тестов вы используете.Для RSpec 1 следующее запускает каждый пример спецификации в своей собственной транзакции:

class Spec::Example::ExampleGroup
  def execute(*args, &block)
    x = nil
    Sequel::Model.db.transaction{x = super(*args, &block); raise Sequel::Error::Rollback}
    x
  end
end

Для RSpec 2 вы можете использовать обходной фильтр для достижения того же результатаЯ не уверен, как это сделать в test / unit, вам, вероятно, нужно переопределить Test :: Unit :: TestCase # run.

...