InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

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

作者 Rick DeNatale , 翻訳者 岡田 英久 投稿日 2008年1月7日

セクション
デベロップメント,
プロセス/プラクティス
トピック
Delivering Quality ,
アジャイル技術 ,
Ruby ,
Ruby on Rails
タグ
Rails ,
BDD ,
TDD ,
RSpec
最近 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

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。