2010-01-18 6 views
12

J'ai récemment remarqué que ma base de données de test n'est pas nettoyée après l'exécution de mes tests si mes tests sous-classe Test :: Unit :: TestCase. Si mes tests sous-classe ActiveSupport :: TestCase, tout est nettoyé correctement.ActiveSupport :: TestCase vs Test :: Unité :: TestCase lors des tests unitaires

Quelqu'un peut-il expliquer pourquoi et/ou fournir une explication de l'utilisation de l'un par rapport à l'autre?

J'utilise shoulda et factory_girl.

Merci.

Répondre

19

Si vous take a look at the code, vous verrez ActiveSupport::TestCase avoir beaucoup de fonctions d'installation et d'utilitaire pour tester Rails. Les versions plus anciennes de Rails utilisaient Test::Unit::TestCase avec un grand nombre de mixins, mais il y a quelques temps, il y a eu des sous-classes. Si vous testez une application Rails, vous devez sous-classer les contrôleurs ActiveSupport::TestCase ou ActionController:TestCase. Les générateurs vont le faire automatiquement, donc vous ne devriez pas avoir à y penser la plupart du temps.

+0

Bonne réponse. Merci! – Abel

Questions connexes