チーム開発のための .NET 開発環境の整備(BDDの準備1)

.NETでのチーム開発のための環境整備を社内で作成しているところですが、備忘もかねて作業記録や気が付いた点など書いていきます。


今回はBDDおよびブラウザテスト進めるにあたり必要なソフトのインストールを行います。

今回の概要

  1. BDDテストフレームワーク(SpecFlow)
  2. ブラウザ自動テスト(Selenium + Coypu)

今回の環境

  • VisualStudio 2012
  • Entity Framework 5.0
  • ASP.NET MVC4
  • InternetExplorer10
  • Jenkins

NUnitのような単体テストで詳細のメソッドのテストではなく、機能としての仕様をテストし、受け入れテスト としても非プログラマも読むことができるテスト仕様書としても利用可能なフレームワークとして SpecFlowを導入してみます。またSpecFlowを用いたテストとして ブラウザの自動テストを行うためにCoypuを導入したテストを行います。

SpecFlowはRuby界でいうCucumberに影響を大きく受けているフレームワークで Cucumber同様Gherkin書式により仕様を記述することで人にも読むことのできる(日本語でも記述できる) テストの記述が可能です。

CoypuはRuby界でいうCapybaraに相当する、Webブラウザ上の操作を コードで記述できるフレームワークです。これにより「ページを開く」「リンクをクリックする」 「フィールドを埋める」「ラジオボタンを選択する」などのユーザ操作をコードで記述できます。

capybaraとcoypuがどれだけ似ているかは次の画像を見てみてください。

SpecFlowの導入
  1. [ツール]-[拡張機能と更新プログラム]でオンラインからSpecFlowを検索してインストールします。 f:id:kuroyanagi_h:20130731173220p:plain
  2. SpecFlow用のプロジェクトをクラスライブラリで作成します。
  3. パッケージマネージャコンソールを開いて Install-Package SpecFlow と入力します。 f:id:kuroyanagi_h:20130731174923p:plain
coypuの導入
  1. パッケージマネージャコンソールを開いて Install-Package coypu と入力します。 f:id:kuroyanagi_h:20130730135519p:plain coypuと一緒にSelenium.WebDriver,Selenium.Supportがインストールされます。

  2. SeleniumではデフォルトでFirefoxを使用します。InternetExplorerやChromeを使用してテストを行う場合は Seleniumの公式ページから必要なWebDriverをダウンロードします。 IEを使用する場合は「The Internet Explorer Driver Server」をChromeを使用する場合は「chromedriver」 をダウンロードします。

  3. ダウンロードしたWebDriverはテストを行うプロジェクトのbin/debugに入れるか、システムのPATHの通った場所に コピーします。(CIサーバーでもWebDriverが必要になります。binの下はビルド時のクリーンで削除されてしまうので任意のフォルダに入れておきPATHを通しておくとよいでしょう。)

今回はインストール手順までを記載しました。 次回はSpecFlowを用いたテストコードの記載とテストの実行を記載します。