PHPのBDDフレームワークBehatで調べたこと

こんにちは。
BehatというBDD(振る舞い駆動開発)フレームワークを使ってみました。
テストシナリオをコンテキスト(文脈)と呼ばれる自然言語に近い形で記述することができ、分かりやすいテストシナリオを書くことができます。
便利ですね。

Behatを使う上でわからないことがあったので調べたことの自分なりのまとめです。
またほとんどを @naname さんに教えてもらいました。ありがとうございます!

目次

Behatを取り巻く環境

Behatを実際に使ってみよう!と思ったのですが、思った以上に知らないことが盛り沢山で感覚がつかめませんでした。
Behatは既存のパッケージなどをうまく組み合わせることでBDDのフレームワークとして動作しています。
まずは実際にBehatを動かすために必要なパッケージ群について一覧にしてみます。

パッケージ 概要
Behat Behat自身。PHPで記述されている。
Mink
Gherkin ガーキン。Behatのコンテキストを記述するための構文。

それぞれを見ていきます。

Behat

Behat本体ですね。他のパッケージを操りながらBDDを実現しています。
本体はPHPで記述されています。

Mink

Gharkin

ガーキンと読みます。
意味は「ピクルス」です。
(実際に「ピクルス」は瓜科の野菜をピクルス液に付けられたもの全般を指していて、日本で言うピクルスはこのガーキンをピクルス液に付けたものを指しています)
(日本人だと外国人の方が「白菜」のことを「漬け物」と呼んでいる、という感じかなと思いました。)

Gharkinはcucumber(キューカンバー、きゅうり)というBDDテストフレームワークの言語です。
この言語はcucumberパッケージのWikiに記載されています。

実際には

 Feature: Some terse yet descriptive text of what is desired
   Textual description of the business value of this feature
   Business rules that govern the scope of the feature
   Any additional information that will make the feature easier to understand

   Scenario: Some determinable business situation
     Given some precondition
       And some other precondition
     When some action by the actor
     And some other action
       And yet another action
     Then some testable outcome is achieved
       And something else we can check happens too

   Scenario: A different situation
       ...

シェアする

  • このエントリーをはてなブックマークに追加

フォローする