2010-01-18 3 views
12

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

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

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

Спасибо.

ответ

19

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

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

+0

Отличный ответ. Благодаря! – Abel

Смежные вопросы