メモ: BDD記法


# language: ja
@blog
フィーチャ: ブログを書く
  ブログを書くには本人のやる気と書く時間が必要です。
  アウトプットは次のインプットに繋がるので積極的に行なうべきです。

  # これはコメントでタグの後にはかけない
  # @ではじまるのはタグ
  @good
  シナリオ: ブログが書ける
    ブログが書ける場合はやる気と時間があるのです。

    # ネタがないとかけないです。
    前提 ネタがある
    # 時間がないとかけないです
    かつ 納期に終われていない
    # 先輩とかいないですけど
    もし 先輩にブログを書けと言われた
    # オチがない
    ならば ブログが書けている

  @bad
  シナリオ: デスマ中はブログが書けない
     デスマ中ダトソレドコロジャナインダ!!

     前提 ネタがある
     かつ デスマ中
     もし 先輩にブログを書けと言われた
     ならば ブログが書けていない

記法

## Gherkin記法 

 AS:として 
 GIVEN:前提 
 WHEN:もし 
 THEN:ならば 
 AND:かつ 
 BUT:しかし


### 

AS 管理者
Give プレイヤー1がグーを提示
AND プレイヤー2がチョキを提示
When 勝負履歴画面を表示
Then プレイヤー1の勝利が表示

(BDD(振る舞い駆動開発)で使用されている記法)

もともと
題名ドライバーはプッシュ通知メールの新着通知ON/OFFONの時間設定をすることができる

詳細
設定ページ上でプッシュ通知のON/OFF設定ができる
設定ページ上でメール通知のON/OFF設定ができる
ONの場合は00:0000:00で30分間隔で通知設定を行うことができる
OFFになっていても案件は従来どおり開示される
XXXXXXの場合はXXXXXXを優先する (企業秘密❤)
BDDで書くと
題名:ドライバーは、プッシュ通知、メールの新着通知ON/OFFONの時間設定をすることができる

AS ドライバーとして
GIVEN ログインしている AND 案件一覧を表示しているとき
WHEN 設定画面の⚙アイコンをタップすると
THEN 設定内容が表示されデフォルト値が設定されている(ON
like
| プッシュ通知 | *ON*/OFF |
| 通知時間設定 | ON/*OFF* |
| 通知時間設定 | 00:00 ~ 00:00 |
| メール通知 | *ON*/OFF |

日本語で書くと

フィーチャ: ショッピングカートに商品を追加したり、数量を変更したり、削除したりする
  シナリオ: 商品をカートに入れてショッピングカートを表示
    前提 商品"プリンセスコットン"のページを表示している

    もし "2"番目の注文欄に"2"と入力する
    かつ "買い物かごへ入れる"ボタンをクリックする
    かつ "お買い物内容"リンクをクリックする
    ならば "お買い物内容"と表示されていること
    かつ "合計"表示欄に"¥40,000"と表示されていること

Gauge (ゲージ)

# Search specification
  Tags: search, admin
  The admin user must be able to search for available products on the search page

   * User must be logged in as "admin"
   * Open the product search page

  ## Successful search
  Tags: successful
  For an existing product name, the search result will contain the product name

   * Search for product "Die Hard"
   * "Die hard" should ahow up in the search results

  ## Unsuccessful search
  On an unknown product name search the search results will be empty

   * Search for product "unknown"
   * The search results will be empty

テストファースト