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対1のマッピングが壊れています。これは、別のテストの責任を侵害しているように感じます。
  • シナリオをまったく別の場所に置きます。
    • どこにあるのかわかりません:-)

人々は以前にこの問題に直面したことがあると確信しており、アプリケーションのガイドラインを確立したいと思います。現在、両方のスタイルが見つかり、保守が困難になっています。どのようにそれをしたのか、そしてその理由は何ですか?

4

1 に答える 1

1

その動作をadd_projects.featureに含めます

Cucumberの組み込みジェネレーターは、コントローラーごとに1つの機能のマッピングを促進するように見えますが、これは多くの場合、物事を整理するための最良の方法ではないため、その慣習を破ることを心配しないでください。

于 2011-08-28T12:34:36.930 に答える