Comment peut-on tester une application Rails? En profondeur, en visant Eighty percent coverage and no less! La décision réelle quant à "comment" est facile, mais "combien" peut être difficile à répondre.
J'ai quelques projets de petite taille (presque, mais pas tout à fait anciens) avec presque aucun test, et les tests ont tendance à être des tests unitaires de bas niveau de composants cruciaux dans le code. À l'occasion, je souhaite qu'ils aient eu plus de tests, mais en général ils sont regroupés avec des surfaces relativement petites qui rendent le débogage et les tests manuels assez simples.
Dans mon travail de jour, nous utilisons rSpec, Cucumber et Selenium sur un assez grand projet Rails (10+ développeurs, plusieurs années en préparation).
rSpec fournit une couverture d'unité pour tous nos modèles, contrôleurs, assistants et autres classes. Le concombre fournit des tests fonctionnels et d'intégration de haut niveau.
Selenium est utilisé pour l'exécution de zones à forte javascript de notre interface utilisateur avec javascript (via Capybara et Cucumber). Nous disposons également d'une suite de tests de régression dans Selenium utilisés par notre équipe de test et d'assurance qualité (les versions mises à la disposition de l'assurance qualité sont vertes grâce à notre build CI). Mon installation "minimale" de nos jours serait une couverture au niveau de l'unité en utilisant rSpec sur les zones critiques et/ou complexes et une suite complète de tests fonctionnels de concombres sur les chemins critiques à travers l'application.
Comme je ne pense pas que je peux donner une réponse vraiment nouveau, je vais créer un lien vers ma réponse d'une question précédente qui était un peu http://stackoverflow.com/questions/1448821/does-cucumber-do-away-with-the-need-to-write-unit-tests/1448928#1448928. Ma réponse a également été éditée par M. Topley, comme votre question :) – theIV