Где тестировать ссылки в функциях огурца?

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

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

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

  • Put the scenario into list_projects.feature.
    • + The link is on the list projects page
    • - Когда меня интересует функция списка проектов, я не хочу читать о том, как я добавляю проекты
  • Put the scenario into add_projects.feature.
    • + When I read the description of this feature I am also interested how users are going to get to that feature
    • + Если у меня есть несколько ссылок на эту функцию, все они собраны в одном месте.
    • - Базовое сопоставление функции и контроллера 1-на-1 нарушено, мне кажется, что это вторжение в обязанности другого теста.
  • Put the scenario somewhere else altogether.
    • I have no idea where :-)

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


person sebastiangeiger    schedule 27.08.2011    source источник


Ответы (1)


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

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

person Andy Waite    schedule 28.08.2011