Цикл BDD включает в себя создание сценариев, а затем беседы вокруг этих сценариев, чтобы обнаружить больше недостающих, недоразумений и т. Д.
Если вы используете BDD-инструмент, такой как Cucumber, вы можете записать сценарии, которые вы обсуждали.
В идеале, сценарии должны быть представлены в виде шагов высокого уровня, ориентированных на возможности системы и ценность, которую они предоставляют пользователям. Они не будут входить или не проходить аутентификацию.
BDD на самом деле не о тестировании. Речь идет об обучении и сохранении вещей, которые легко изменить. Если вы никогда не собираетесь изменять механизмы входа в систему, достаточно проверить аутентификацию вручную. Вместо этого сосредоточьтесь на вещах, которые отличают ваше приложение от других приложений. Как ваше программное обеспечение на самом деле обеспечивает ценность? Как он взаимодействует с другими системами, приложениями и пользователями? Как заработать деньги, спасти жизнь или развлечься?
Если вы сможете ответить на эти вопросы и сосредоточиться на них, у вас все равно будут неудачные сценарии, даже с Devise. Ваши сценарии будут выглядеть примерно так:
Given I have registered an account
When I <do this differentiating thing>
Then I <achieve this differentiating outcome>
Вход в систему будет неявным, и будет называться шагом нижнего уровня как часть первого данных.