BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース RSpec 1.1 - 振舞駆動開発支持者のためのステップアップ

RSpec 1.1 - 振舞駆動開発支持者のためのステップアップ

最近 Ruby コミュニティでいくつかの重要なリリースがあった。12 月 7 日には Rails 2.0 がリリース(サイト・英語)され、そして先日 David Chelimsky 氏は RSpec 1.1 のリリース'(サイト・英語)を発表(source)した。

この新しいリリースは Rails 2.0 にしっかり対応している。RSpec のトランクは EdgeRails (まだリリースされていないものなど Rails の開発バージョンのこと)をトラッキングしており、EdgeRails と RSpec 両方のトランクで開発をしているデベロッパは RSpec チームが両者の相違点を解決するのを手助けしてくれている。これがリリースの動機のひとつであるが、他にもいくつかのアピールポイントがある。

RSpec の主要な新規機能のひとつは Story Runner だ。これは RSpec にマージされた Dan North 氏の RBehave がもっていた機能(source)である。ストーリーは、アプリケーション要件の実行可能なステートメントである。RSpec 1.1.0 は Rails ユーザ用には RailsStory を用意しており、従来の Rails でいう Test::Unit を使った integration test がもっている役割を完全にカバーしている。受入テストのようなそれ以外の利用もできる。

Test::Unit を使用している既存の Rails プロジェクトに RSpec を導入するのを妨げる要因のひとつは、移行方法の問題だった。現在 RSpec はこれを簡単に行うことができる。Rails 用の RSpec ランナーは実は一年以上前から Test::Unit の上に構築されている。RSpec 1.1.0 では Spec モジュールを Test::Unit の TestCase に含めることが可能になった。これで、Test::Unit から RSpec シンタックスへの段階的な変更が可能である。TestCase は振舞に、テストメソッドは実行可能なサンプルに、そしてアサーションはエクスペクテーションに、少しずつ変えていくことが可能だ。既存の TestCase を、それまでの動作を維持したまま変更することができるのである。

もうひとつの主要な新機能は、振舞の定義がネスト可能になったことだ。多くの場合、これまでの RSpec がもっていた shared specification 機能よりも、こちらのほうが一般的なスペックのバリエーションである自然なサブスペックの定義に役立つ。
全体として、これは現在のそして将来の RSpec ユーザたちにとって大きなニュースである。

あなたはもう RSpec を使っているだろうか?もしまだなら是非使ってみてほしい。

原文はこちらです:http://www.infoq.com/news/2007/12/rspec-1dot1

この記事に星をつける

おすすめ度
スタイル

BT