Подтвердить что ты не робот

ActiveSupport:: TestCase vs Test:: Unit:: TestCase при тестировании модулей

Недавно я заметил, что моя тестовая база данных не очищается после запуска моих тестов, если мой подкласс тестов Test:: Unit:: TestCase. Если мой подкласс тестов ActiveSupport:: TestCase, все очищается должным образом.

Может ли кто-нибудь объяснить, почему и/или дать объяснение использования одного и другого?

Я использую shoulda и factory_girl.

Спасибо.

4b9b3361

Ответ 1

Если вы взгляните на код, вы увидите, что ActiveSupport::TestCase имеет множество функций настройки и утилиты для тестирования Rails, Старые версии Rails использовались для использования Test::Unit::TestCase с большим количеством миксинов, но перешли к подклассу некоторое время назад.

Если вы тестируете приложение Rails, вы должны подклассифицировать ActiveSupport::TestCase или ActionController:TestCase для контроллеров. Генераторы сделают это автоматически, поэтому вам не придется долго думать об этом.