Dans le monde rubis, TDD est facilité par des outils intégrés dans le framework. Factory Girl, Mocha, rSpec et autres permettent aux développeurs de créer facilement et dynamiquement des tests qui répondent aux cas de test nécessaires.
J'ai également été frustré par le manque d'outils TDD dans Drupal. Mon plus gros problème avec eux est le temps nécessaire pour exécuter un seul test. Les cycles de développement ne peuvent pas être ralentis par des tests individuels prenant 60 à 90 secondes à chaque itération. Les suites de tests complètes s'exécuteraient dans le délai de plusieurs heures, si vous prenez la peine d'écrire les tests.
Je soupçonne que cela a à voir avec la copie d'une base de données complète à chaque fois qu'un test est exécuté, mais cela ne changera probablement pas dans un proche avenir de ce que je peux dire, surtout si vous devez utiliser DrupalWebTestCase pour le faire.
Je pirate ensemble une solution utilisant Phactory et phpunit, qui démarre Drupal manuellement. Évidemment, je rencontre des problèmes et je ne l'ai pas terminé, mais ça y arrive.
Heureusement, la plupart de mon travail se situe au niveau du backend, donc je peux rester au niveau DRUPAL_BOOTSTRAP_DATABASE. Mais je cours dans plus de situations où j'aurai besoin de la pile complète.
En fin de compte, TDD dans Drupal n'est pas bien pris en charge, vous pouvez donc écrire le vôtre pour le faire fonctionner en dehors du cadre de test Drupal, ou endurer les mauvaises performances.
-- MISE À JOUR --
J'ai réussi à configurer une intégration complète de Drupal avec Phactory, et j'exécute maintenant mes tests via phpunit au lieu du scénario de test Web Drupal. C'est donc possible.
J'espère arriver à un point où je pourrai le publier et qu'il pourra être incorporé dans le document Phactory.
- MISE À JOUR 2 -
Doc sur la façon dont je configure Phactory sur https://github.com/trimbletodd/phactory .