2009-11-17 6 views
0

PHP est un peu paralysé car il n'a pas encore de types de retour. J'ai besoin de mon code pour lancer une exception quand X existe déjà. Je peux écrire cela dans un scénario, mais je ne suis pas capable de passer des scénarios à l'interface que ma classe devrait implémenter.sont des scénarios/histoires la nouvelle interface dans BDD/TDD?

En fait, ce problème est le même dans TDD je suppose. Il semble plus que je peux dire à travers mes «tests» que par le biais de mes interfaces. Pourtant, mes interfaces définissent quels composants peuvent interagir, quelles responsabilités ils doivent assumer. Le problème est plus important en PHP car il n'a pas de type de retour mais il existe aussi dans d'autres langages car il n'y a pas de contrat qui dit qu'une exception devrait être levée quand x est le cas.

Comment puis-je faire face à ce problème?

Répondre

1

Dans les langues qui émettent des exceptions, l'interface n'est qu'une partie de la spécification du contrat. Utilisez les tests pour décrire le reste du contrat en affirmant que les exceptions correctes sont levées lorsque prévu.

Questions connexes