Я предпочитаю использовать Rspec и Cucumber вместе. Я также предпочитаю капибару вебрат.
Rspec прекрасно подходит для интеграции и структуры рельсов. Технически это тестирование поведения, но на практике это похоже на юнит-тестирование. Он также позволяет группировать и определять «спецификации» или тесты rspec в любой структуре, которая вам нравится, с блоками «описать».
Огурец высшего уровня. Это то, во что вы будете переводить свои пользовательские истории. Например, вы можете решить, что ваши пользователи должны иметь возможность изменить свой пароль, поэтому вы напишите что-то вроде этого:
Scenario: Change password
Given I am logged in
And I am on the change password page
When I fill in "p4ssw0rd" for "old_password"
And I fill in "newp4ssw0rd$$" for "new_password"
Then my password should be "newp4ssw0rd$$"
Если вы работаете с отделом контроля качества, вы можете показать им свои тесты, и они сразу узнают о состоянии любой функции и о том, как эта функция должна работать. Кроме того, если у вас есть предприимчивые тестировщики, они могут сами писать тесты, даже если они вообще не являются программистами.