Je construis une application Rails qui nécessite l'interaction de certains modèles avec certaines bibliothèques Java nécessaires. Pour ce faire, je veux utiliser Rails sur l'IRM - pas JRuby ou RBJ. Le code Java n'a besoin que d'un accès en lecture aux tables de la base de données gérées par l'application Rails. Une manière de procéder consiste à configurer une servlet qui lit les tables de base de données de l'application Rails. Le problème est que, lors des tests, l'utilisation des fixations transactionnelles Rails fait que toute l'activité de la base de données pendant le test invisible to external processes tel que le servlet.Tests de Rails avec accès à une base de données hors processus?
Pour le déploiement, ce n'est pas un problème, mais il n'est pas vraiment clair comment effectuer des tests automatisés dans ces conditions. Comment puis-je utiliser RSpec pour tester des modèles Rails qui dépendent de processus externes ayant accès aux tables gérées par Rails?
Merci. L'inconvénient semble être que la base de données n'est plus effacée avant l'exécution de chaque test. Je pourrais l'effacer manuellement dans un avant (: chacun). J'aimerais vraiment quelque chose qui soit un peu plus automatisé. Y a-t-il d'autres moyens de contourner ce problème? –
Si vous comptez sur les données pour être visibles à l'extérieur, alors, il n'y a pas d'autre moyen. Vous devrez effacer et réinstituer vos appareils après chaque série. Vous pouvez le faire sans écrire de code supplémentaire en ajoutant 'fixtures: model1,: model2, ...' à votre classe de test. – wulong