陽気なシステム屋が世界を変える

behat導入と基礎

Posted on 2015年7月1日 by enterprisesolgr
このエントリーをはてなブックマークに追加

こんにちは!

駆け出しプログラマー安東です。

今回は最近現場で使ったテストツール「behat」について書きます!

■Behatとは

・PHP用のBDDフレームワーク
・Gherkin
・内部的にはsymfony2で作成されている
 symfony2との親和性が高い
 symfony2系以外のFWでも利用可能

■behatのダウンロード

まず適当なディレクトリにbehatをダウンロード!
※今回は事前にbehatディレクトリを作成し、そこにダウロードします。

composerを使ってダウンロードしましょう。
behatディレクトリで以下コマンドを実行しましょう。

#curl -sS https://getcomposer.org/installer | php
#php composer.phar require –dev behat/behat=’~3.0.4′

上記コマンドでbehatのダウンロードが完了です。
ダウンロードできると以下のディレクトリが構成されています。

behat/
 vendor/
  bin/
   behat/
 composer.json
 composer.lock
 composer.phar

■behatの実行環境構築

上記ディレクトリ構造配下にappディレクトリを作成します。

#mkdir app

behat/
 vendor/
  bin/
   behat/
 composer.json
 composer.lock
 composer.phar
 app/

appディレクトリで下記コマンドを実行

#../vendor/bin/behat –init

上記コマンドを実行すると以下のようなファイルが設置されます。

 vendor/
  bin/
   behat/
 composer.json
 composer.lock
 composer.phar
 app/
  features/
   booststrap/
    FeatureContext.php

■behat.ymlの準備

behatでは実行のための設定ファイルをbehat.ymlに記述します。
今回はappディレクトリにbehat.ymlを作成します。

#touch behat.yml

 vendor/
  bin/
   behat/
 composer.json
 composer.lock
 composer.phar
 app/
  behat.yml: 作成した設定ファイル
  features/
   booststrap/
    FeatureContext.php

behat.ymlに以下のように記述

**~behat.yml~**

※%paths.base% : 実行ディレクトリを指している

1.autoloadを指定して、bootstrap配下のFeatureContext.phpを読み込む
2.suitesを用いて記述します。
  suitesを使用することで、pathsとcontextsを名前(今はdefault)をつけて管理することが可能
3.pathsは「.feature」ファイルがあるディレクトリまでのパスを記述
4.contextsでautoloadで読み込んだFeatureContext.phpファイルのクラスを指定

■テストケースの作成

テストはbehat.ymlのpathに指定したディレクトリ以下に作成していきます。
テストファイルの拡張子はfeatureにする。

#touch test.feature

 vendor/
  bin/
   behat/
 composer.json
 composer.lock
 composer.phar
 app/
  behat.yml: 作成した設定ファイル
  features/
   test.feature:作成したテストケース
   booststrap/
    FeatureContext.php

**~test.feature~**

「#Language:en」で言語を指定しています。

■behatの実行

この状態でbehatの実行をしてみましょう。
appディレクトリまで移動して、下記コマンドで実行できます。

#../vendor/bin/behat

長くなりましたが、
以上で簡単ですが、behatの導入と基礎でした!

テストケースを日本語でも書けるのが魅力ですが、
やはり英語で記述したほうが良いのかな。。。

ではこのへんで(∩´∀`)∩

【番外編】

behatにライブラリを導入し、
簡単なブラウザテストを実行してみます。

まず、composer.jsonに下記項目を追加します。

“require-dev”: {
 ”behat/mink”: “1.*”,
 ”behat/mink-extension”: “*”,
 ”behat/mink-selenium2-driver”: “*”,
}

そして、phantomjsをインストールしておいてください!

これで準備は完了です。
まず、phantomjsを起動しましょう。
下記コマンドを実行します。

$phantomjs -webdriver=4444

次にbehat.ymlを編集します。

次にFeatureContextクラスでMinkExtensionを継承します。

最後にtest.featureファイルを編集します。

これで完了です。

これを実行すると下記画像のようになるはずです。

これはほんの一例ですが、このような形でブラウザテストをすることが可能です。

MinkExtensionにテストケースがたくさん準備されているので、
それらを用いて様々なテストを実行することが可能だと思います。

以上
番外編でした!!


ECサイト構築はこちら


ホームページ製作はこちら

Posted in 未分類 |
« 電源って大事だね
【第1回】ライブラリの使い方 〜 Swiper.js 〜 »

Leave a comment コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

キャプチャ画像
画像のリフレッシュ

*

Pages

Archives

  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年8月
  • 2015年7月
  • 2015年6月
  • 2015年5月
  • 2015年4月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2014年5月
  • 2014年4月
  • 2014年3月
  • 2014年2月
  • 2013年12月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年8月
  • 2013年7月
  • 2013年6月
  • 2013年5月
  • 2013年4月
  • 2013年3月
  • 2013年2月
  • 2013年1月
  • 2012年12月
  • 2012年11月
  • 2012年10月
  • 2012年9月
  • 2012年8月
  • 2012年7月
  • 2012年6月
  • 2012年5月
  • 2012年4月
  • 2011年5月
  • 2011年4月
  • 2011年3月

Categories

  • Androidアプリ (28)
  • ECサイト (7)
  • Facebook (3)
  • iPadアプリ (19)
  • iPhoneアプリ (41)
  • Webアプリ (27)
  • webサイト (37)
  • WindowsPhoneアプリ (1)
  • サービス (15)
  • スマートフォンアプリ (28)
  • セキュリティ (11)
  • ソーシャルメディア (7)
  • その他 (25)
  • デザイン (14)
  • マーケティング (14)
  • 勉強会 (5)
  • 基幹システム (2)
  • 新製品 (16)
  • 未分類 (171)
  • 開発全般 (64)
  • 開発言語 (31)

WordPress

  • ログイン
  • WordPress

Subscribe

  • Entries (RSS)
  • Comments (RSS)

Pages

Archives

  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年8月
  • 2015年7月
  • 2015年6月
  • 2015年5月
  • 2015年4月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2014年5月
  • 2014年4月
  • 2014年3月
  • 2014年2月
  • 2013年12月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年8月
  • 2013年7月
  • 2013年6月
  • 2013年5月
  • 2013年4月
  • 2013年3月
  • 2013年2月
  • 2013年1月
  • 2012年12月
  • 2012年11月
  • 2012年10月
  • 2012年9月
  • 2012年8月
  • 2012年7月
  • 2012年6月
  • 2012年5月
  • 2012年4月
  • 2011年5月
  • 2011年4月
  • 2011年3月

Categories

  • Androidアプリ (28)
  • ECサイト (7)
  • Facebook (3)
  • iPadアプリ (19)
  • iPhoneアプリ (41)
  • Webアプリ (27)
  • webサイト (37)
  • WindowsPhoneアプリ (1)
  • サービス (15)
  • スマートフォンアプリ (28)
  • セキュリティ (11)
  • ソーシャルメディア (7)
  • その他 (25)
  • デザイン (14)
  • マーケティング (14)
  • 勉強会 (5)
  • 基幹システム (2)
  • 新製品 (16)
  • 未分類 (171)
  • 開発全般 (64)
  • 開発言語 (31)

WordPress

  • ログイン
  • WordPress

CyberChimps WordPress Themes

© 陽気なシステム屋が世界を変える