2010-06-17 6 views
1

Je suis en train de tester une fonctionnalité qui insère quelques détails dans le DB. Dans le test.log, il montre la commande insert qui est générée et aussi les messages de log que j'ai placés pour montrer la progression et tout semble bien fonctionner sauf que les données réelles ne sont pas insérées dans la base de données. Je vérifie si les données sont insérées dans db/test.sqlite3. Aucune exception n'est générée lorsque les scénarios de test sont exécutés. Existe-t-il un paramètre que je dois définir pour insérer des données dans le DB de test? ou suis-je manque quelque chose d'autre MerciTest Rails Question

Répondre

1

vérifient la base de données après le test est exécuté?

Par défaut Rails gère les transactions de tous les tests. Cela signifie qu'après l'exécution de chaque test, la base de données est annulée.

Ceci est préféré pour les tests. Dans le cas contraire, vous pouvez avoir un test altérant les données ou l'état qui affecte un autre test.

+0

Oh ... Il ll rollback. Merci :) – felix

1

Les données de test est habituellement nettoyé. Une fois les cas de test exécutés. Donc je ne pense pas qu'il y ait quelque chose dans une base de données de test. Après l'exécution de chaque transaction de test, la base de données est restaurée.

+0

Merci pour l'information – felix