2

假设我在这样的文件中安排了我的黄瓜功能:

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 映射被破坏,我觉得这侵犯了另一个测试的责任
  • 将场景完全放在其他地方。
    • 我不知道在哪里:-)

我相信人们以前也遇到过这个问题,我想为应用程序建立一个指南,现在可以找到这两种样式,这使得它更难维护。任何输入你是如何做到的,为什么?

4

1 回答 1

1

我会在 add_projects.feature 中包含该行为

尽管 Cucumber 的内置生成器似乎鼓励每个控制器映射一个功能,但这通常不是安排事情的最佳方式,因此不必担心违反该约定。

于 2011-08-28T12:34:36.930 回答