Мои практики BDD связаны с использованием огурца. Я стараюсь изо всех сил, чтобы сохранить то, что видит пользователь . То есть любые операторы When
и Then
должны отражать пользовательский ввод или визуальные эффекты пользователя.
В вашем случае я бы позаботился о том, чтобы впоследствии появилось сообщение об успешном завершении, а затем я бы (если возможно) посмотрел на экране данные, указывающие, что приложение знает об объекте. Например, если вы добавили комментарий к сообщению в блоге, вы должны заполнить его, нажать кнопку «Принять», увидеть сообщение об успешном завершении «Сообщение опубликовано», а затем также увидеть ваш контент на странице в качестве нового сообщения.
Вам следует создать резервные копии пользовательских тестов BDD с помощью модульных, а иногда и контроллеров, чтобы убедиться, что все закулисное функционирование также работает корректно.
Я склонен использовать RSpec и проверять, что что-то добавляется в базу данных, методы возвращают ожидаемые результаты и т. Д. Но я также использую Cucumber, чтобы убедиться, что пользователь видит то, что ожидает его пользователь (но я не очень пусть огурец заботится о том, что в БД).
Надеюсь, это поможет. Если вы еще не используете огурец, я настоятельно рекомендую его для тестирования BDD в сочетании с RSpec. Вы должны проверить книгу (поставляется в электронном виде в формате PDF) - я начал с этого, и это помогло тонна с моей практикой тестирования:
http://www.pragprog.com/titles/achbd/the-rspec-book