Pendant longtemps, j'ai utilisé symfony (dans sa première mouture) qui venait avec ses outils "maison" permettant de faire des tests unitaires mais aussi des tests fonctionnels, en simulant notamment un navigateur. C'était très bien. Je suis depuis passé à la version 2 et il n'y a pas d'équivalent. De plus les tests de symfony sont fait avec PHPUnit et je n'ai jamais réussi à me faire à ce framework et je ne m'y fais toujours pas.
Je n'ai pas trouvé d'équivalent à simpletest (un peu vieillisant pour rester gentil) ou sfBrowser.
J'ai ce besoin aussi bien pour des développements nouveaux mais aussi pour faire évoluer des applications où aucun test n'a été écrit. L'idée est d'alors de tester l'application de l'extérieur, en boîte noire. En cherchant à droite à gauche, je me suis finalement décidé à utiliser Behat, même si ce n'est pas forcément sa vocation première. Behat est un framework permettant de faire du développement piloté par le comportement - BDD. Dit autrement, on écrit des tests correspondant aux fonctionnalités de l'application. Le gros avantage de Behat est que les tests sont écrits en langage naturel. Cela ressemble à ça :
Fonctionnalité: Avoir un compte bancaire
Afin d'offrir aux utilisateurs la possibilité d'avoir un compte bancaire
Etant donné que je suis inscrit
Je dois être capable d'ajouter ou de retirer de l'argent sur mon compte
J'ai bien sûr une idée derrière la tête en expliquant tout cela. Depuis quelques semaines, j'essaie tant bien que mal de couvrir le périmètre fonctionnel de piwigo. L'idée est de pouvoir ensuite faire revivre le support de PostgreSQL. Oui oui quand j'ai une idée... Les quelques tests que j'ai écrit sont déjà disponibles : mon dépôt github.