Являются ли сценарии / истории новым интерфейсом в BDD / TDD? - PullRequest
0 голосов
/ 17 ноября 2009

PHP несколько поврежден, поскольку у него нет возвращаемых типов (пока). Мне нужен мой код, чтобы вызвать исключение, когда X уже существует. Я могу написать это в сценарии, но я не могу перейти от сценариев к интерфейсу, который должен реализовать мой класс.

На самом деле эта проблема та же самая в TDD, я думаю. Кажется, я могу сказать больше через мои «тесты», чем через мои интерфейсы. Тем не менее, мои интерфейсы определяют, какие компоненты могут взаимодействовать, какие обязанности они должны выполнять.

Проблема больше в PHP, потому что он не имеет возвращаемых типов, но он также существует в других языках, потому что нет контракта, который говорит, что должно быть выброшено исключение, когда x имеет место.

Как мне лучше всего с этим справиться?

1 Ответ

1 голос
/ 23 ноября 2009

В языках, которые генерируют исключения, интерфейс является только частью спецификации контракта. Используйте тесты для описания остальной части контракта, утверждая, что правильные исключения генерируются, когда ожидается.

...