Где тестировать ссылки в огуречных функциях? - PullRequest
2 голосов
/ 27 августа 2011

Предположим, что я разместил свои функции огурца в таких файлах:

features/
├── add_project.feature
├── list_projects.feature

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

Scenario: Link to create page is visible
    Given I am logged in as a staff member
    When I go to the projects page
    Then I should see a link to the create a project page

Теперь моя дилемма: куда мне поместить этот сценарий?

  • Поместите сценарий в list_projects.feature.
    • + Ссылка находится на странице проектов списка
    • - Когда меня интересует функция списка проектов, я не хочу читатьо том, как я добавляю проекты
  • Поместите сценарий в add_projects.feature.
    • + Когда я читаю описание этой функции, мне также интересно, как пользователи получат эту функцию
    • + Если у меня естьнесколько ссылок на эту функцию, все они собраны в одном месте
    • - Базовое отображение 1-на-1 функции и контроллера нарушено, мне кажется, что это мешает другому тестуответственность
  • Поместите сценарий в другое место.
    • Понятия не имею, где: -)

Я уверен, что люди сталкивались с этой проблемой раньше, и я хочу установить руководство для приложения, вернотеперь можно найти оба стиля, что усложняет поддержку.Любой вклад, как ты это сделал и почему?

1 Ответ

1 голос
/ 28 августа 2011

Я бы включил это поведение в add_projects.feature

Хотя встроенные генераторы Cucumber, кажется, поощряют отображение одной функции на контроллер, часто это не лучший способ упорядочить вещи, так чтоне беспокоиться о нарушении этого соглашения.

...