Cucumber を使用した Rails 3.2.3 アプリケーションのテスト (BDD)

キュウリとは何ですか?

Cucumber は動作駆動型開発に使用されます。 Cucumber を使用すると、ソフトウェア開発チームはソフトウェアがどのように動作するかをプレーンテキストで記述できます。テキストはビジネスで読みやすいドメイン固有の言語で書かれており、ドキュメント、自動テスト、開発支援として機能し、すべてが 1 つの形式にまとめられています。

キュウリは一緒に働きます ルビー・オン・レール、任意の言語で記述された Java、.NET、Flex、または Web アプリケーション。 40 以上の話し言葉に翻訳されています。 Cucumber は、FIT と同様に、表でのより簡潔なテストもサポートしています。

Rails 3 用の cucumber をインストールします。

Cucumber、Rspec-rails、capybara gem をインストールする

sudo gem install cucumber-rails sudo gem install database_cleaner sudo gem install rspec-rails sudo gem install capybara
  • Cucumber は、特に統合テストや機能テストに適した動作駆動開発 (BDD) フレームワークです。

  • RSpec は、Ruby 言語で低レベルのテストを行うための動作駆動開発 (BDD) フレームワークです。
  • Database_cleaner はテストで DB クリーンアップを実行します
  • capybara はブラウザをシミュレートしたり、ブラウザを自動化したり、マッチャーを使用して期待値を設定したりします。

 

Cucumber を使用して Rails 3 アプリケーションをテストする:

1. 新しい Rails アプリケーションを作成する

$rails 新しいストア -d mysql

2. Gemfile を編集する

Rails 3 アプリケーションに Cucumber gem を含める

   グループ :test, :development do gem 'rspec-rails' gem 'cucumber-rails' gem 'capybara' gem 'database_cleaner'
 終わり
3.バンドルインストール

4. cucumber スケルトン ファイルを Rails 3 アプリケーションにインストールします。

$ レールによるキュウリの生成:インストール 

cucumber-rails ジェネレーターはディレクトリを作成します。

機能/ステップ定義

機能/サポート

cucumber-rails ジェネレーターは次のファイルを作成します。

config/cucumber.yml

機能/サポート/env.rb

lib/tasks/cucumber.rake

スクリプト/キュウリ

5.熊手 db:create 6. rake db:移行

7. Cucumber 機能を実行する

1TP4キュウリをとります

キュウリのフィーチャを作成します。
  • RoR 3 アプリケーション テスト用の Cucumber フィーチャーを作成する

$vi の機能/manage_store.feature

  • Cucumber 機能は、特定の形式で平易な英語で書かれたビジネス ユーザー テスト仕様です

特徴フォーマット

 特徴: ...
   順序 ... 俳優 ... すべき ... シナリオ: ... 与えられた ... そして ... いつ ... および ... その後 ... および ...

Cucumber on Rails のテスト手順と Ruby on Rails モデル コードを実装します。

  • Cucumber ステップ定義の作成

$vi の機能/step_settings/order_steps.rb

  • Cucumber は正規表現を使用して文字列を照合し、それをステップ定義に渡します
  • キュウリを実行
1TP4キュウリをとります
例としては、会社を管理する能力が挙げられます。
機能: 会社の管理

 企業を追跡するには、ユーザーは企業を管理できる必要があります

シナリオ: 新しい会社を作成する

 ログインしていることを考えると

 Acme という名前の新しい会社を設立するとき

 そうすれば、Acme という名前の会社が存在することがわかるはずです 

特徴/

企業の特徴

ステップ/

company_steps.rb

与えられた == セットアップ

「ログインしています」の場合は、次のようにします

ユーザー = ファクトリー(:ユーザー)

new_session_path を訪問

fills_in 'ログイン',

:with => user.login

fills_in 'パスワード', :with => user.password

clicks_button 'ログイン'

終わり

「ログインしています」の場合は、次のようにします

ユーザー = ファクトリー(:ユーザー)

new_session_path を訪問

fills_in 'ログイン',

:with => user.login

fills_in 'パスワード', :with => user.password

clicks_button 'ログイン'

終わり

== 変更の場合

「$name という名前の新しい会社を作成します」の場合、 |name| を実行します。

new_company_path にアクセス

fills_in '名前', :with => 名前

clicks_button '作成'

終わり

すると == 結果

次に、「$name という名前の会社が存在することがわかります」と |name| します。

response.body.Should =~ Regexp.new(名前)

終わり

すべてのステップで cucumber を実行し、結果を確認する必要があります。

ご連絡ください。

最新のアップデートを購読する

関連記事

コメントを残す

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

jaJapanese