Я впечатлен краткостью и полезностью сценариев Cucumber, это отличный способ протестировать множество различных случаев.
например пример сценария Cucumber
Feature: Manage Users
In order to manage user details
As a security enthusiast
I want to edit user profiles only when authorized
Scenario Outline: Show or hide edit profile link
Given the following user records
| username | password | admin |
| bob | secret | false |
| admin | secret | true |
Given I am logged in as "" with password "secret"
When I visit profile for ""
Then I should
Examples:
| login | profile | action |
| admin | bob | see "Edit Profile" |
| bob | bob | see "Edit Profile" |
| | bob | not see "Edit Profile" |
| bob | admin | not see "Edit Profile" |
(Код взят из Еще Райана Бейтса о скринкасте Cucumber )
Есть ли эквивалент в RSpec?
Я бы хотел сделать то же самое в RSpec и СУШИТЬ свой код, уменьшив различные тесты вплоть до строки в таблице сценария.
Хотя я мог бы написать код, чтобы сделать это сам, тот факт, что я рассматриваю это, заставляет меня задуматься над двумя вещами
Если это полезно, оно, вероятно, уже существует, и в таком случае как мне его использовать?
Если его не существует, это предполагает, что этого делать не следует и что я подхожу к проблеме неправильно, master: измените foo.c и переименуйте его в bar.c task001: изменить foo.c и переименовать его в moo.c merge task001 ...
Я хотел бы знать, как вы справляетесь с такой ситуацией в Git:
Git сообщает мне следующее:
CONFLICT (rename/rename): Rename "foo.c"->"bar.c" in branch "HEAD" rename "foo.c"->"moo.c" in "task001"
Automatic merge failed; fix conflicts and then commit the result.
Как мне решить эту проблему? Я имею в виду, что я все еще хочу объединить два файла после разрешения конфликта имен.
Спасибо.