0

Rails、キュウリ、rspecは初めてです。3つすべてを学ぶために、ログインが必要な現実的なアプリケーションの構築を開始しました。

どこから始めればよいか、そして私が正しい道を進んでいることを確認するための少しのガイダンスをいただければ幸いです。

私は2つの機能ファイルから始めました。ただし、「ログイン」機能(ログインしないと何もできないため、アプリのコアな側面)を他のアセットやモデルの後に置くべきかどうか疑問に思っているため、この段階で停止しました。ログイン時に管理するもの。

では、どちらが先に来るのでしょうか?ログイン用の機能または彼らが管理するモデル用の機能?

機能ファイルの例:

Feature: User loads application

  As a user
  I want be able to load the application
  So that I can manage my files

  Scenario: Load application
    Given I am not yet using the application
    When I visit the application
    Then I should see "Welcome to app"

ログイン機能ファイル:

Feature: User logs in

  As a user
  I want be able to login
  So that I can manage my private files

  Scenario: Successful login
    Given the user "Username" has an account
    When they login
    Then they should see "You have logged in successfully"

彼らが実際にアプリのポイントとして使用する機能から始めるべきでしたか?

4

1 に答える 1

1

機能を実装する順序は、ビジネス上の決定です。ログインプロセスから始めるか、別の機能から始めるかは、各機能がもたらすビジネス価値によって異なります。

どこから始めればよいかを知るために、利害関係者に質問する必要があります。次にいくつかの例を示します。

  • ユーザー認証なしで機能Aを構築できますか?
  • この時点で絶対にユーザー認証が必要ですか?
  • 単一の機能のみを構築するためのリソースがあると考えてみましょう。現在最も価値のある機能は何ですか。ログインまたは機能Aですか。

認証の前に機能Aを構築することは、機能をテストユーザーに公開し、早期に改善できるため、優れた戦略となる可能性があります。または、特定のプロジェクトではまったく意味がなく、何よりも先に認証の準備ができている必要があります。

さて、あなたの特定のシナリオについてコメントするために、あなたが使用しているスタイルはかなり良いです。

私は、ユーザーがアプリケーションをロードする機能はあまり役に立たないと感じています(私は間違っているかもしれません) 。ユーザーとして、「アプリへようこそ」というメッセージを気にしますか?このシナリオは、機能前のセットアップテストのように見えます。これは、開発者として開発プロセスを開始するために必要なものです。しかし、アプリケーションの動作について有用なことを何も言わないようです(これも間違っているかもしれません)。

これは、システムの実際に予想される動作を説明するCucumber機能の背後にカプセル化できます(ログインプロセス、カートへのアイテムの追加、ブログ投稿の読み取りなど、ドメインに関連するものは何でも)。

于 2013-02-15T12:32:58.790 に答える