RubySpecの開発終了とテストツール
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「RubySpecの開発終了とテストツール」を公開しました。
こんにちはー。昨年12月には、Rails・Rubyともに新しいバージョンがリリースされて賑わいましたね。
まずRails 4.2が19日に(*1)、そしてRuby 2.2が25日にリリースされました(*2)。Rails 4.2はRuby 2.2に
対応しています(Rails 3.2以上がRuby 1.9.3以上に対応しています)。また、次期バージョンのRails 5.0からは、
Ruby 2.2以上をサポートする予定と発表されています(*3)。Rails 5.0では、Ruby 2.2で実装された新しい
シンボルガーベッジコレクションの機能を使うようです。
ところで、Ruby 2.2のリリースの直後、ruby言語の仕様をテストするRubySpecという外部ライブラリの開発が
突然終了されることが話題になりました(*4)。ruby言語は国際規格ISO/IEC 30170になっているものの(*5)、
厳密な仕様があるわけではありません。ruby言語の実装はMRI(=CRuby、rubyの作者のチームが開発)、
JRuby、Rubiniusなど複数ありますが、MRIの実装をもって仕様としているのが現状です。
そのため、ruby言語のテストライブラリをメンテナンスしようとすると、MRIの仕様に通じる必要があります。
しかし、MRI側とRubySpec側の調整がうまく行かず、お互いWin-Winの関係になれなかったため、RubySpecは
開発の継続を終了してしまったようです(*6)。
このことが多くのRubyistの間で議論になったことからも、Spec(仕様)の重要性がよく見えますね。
それではRailsでは何のテストツールが使われているのでしょうか。ざっと上げてみると以下のようなものがあります。
minitest(Test::Unit)(*7)
Ruby標準のテストツール。Ruby本体やRailsフレームワークのテストに使われている。
RSpec(*8)
一番人気のBDD(振舞駆動開発)フレームワーク。
Shoulda(*9)
Test::UnitをRspecのように書けるようにするもの。
Cucumber(*10)
自然言語(英語・日本語あり)で結合テストが書けるもの。
この続きは以下をご覧ください
http://resocia.jp/column/3815/
ソーシャルもやってます!