スカラチェック
ミーハーな感じで「Scala」関係のフィードを手当たり次第にRSSリーダーに突っ込んでいたら、下の記事を見つけました。
ScalaCheck というHaskellから来たScalaユニットテストツール(?)の紹介記事です。英語はキライなので分かりそうな部分だけ
Better unit tests with ScalaCheck (and specs)
http://etorreborre.blogspot.com/2008/01/better-unit-tests-with-scalacheck-and.html
スカラチェック ( ScalaCheck ) というユニットテストのためのツールがあるそうです
エリック曰く「まるで英語の文章みたいに読める『実行可能な』仕様書が手に入るんだ」エリックはとてもゴキゲンです。
「まるで日本語の文章みたいに読める」ようなものが手に入ったら、極東の島国にいる英語がキライな私のような人間もゴキゲンになれるかも知れません。
「テスト駆動開発」みたいな感じで「振る舞い駆動開発」っていうのがブームみたいです。「仕様駆動開発」って読み替えてもいいのかな。Rails勉強会で名前だけ聞いたRSpecっていうのも多分同じような路線だと思うし、JavaのJDaveもきっとそう。ちょっとしか触ってないので詳しくは知らないのだけど。
プログラミング言語が少しずつ(アメリカの)自然言語に近づいているのだと思います。なんだかすごいですね。
プロジェクトサイト
Google Code にありました。
http://code.google.com/p/scalacheck/
ScalaCheck is a Scala implementation of the QuickCheck Haskell library. It tries to keep the look and feel of QuickCheck as much as possible.
(多分)ScalaCheckは QuickCheck っていう Haskell のライブラリをScalaで実装したものです。できるだけ QuickCheck のルック・アンド・フィールを保とうとしています。
ユーザーガイド
http://code.google.com/p/scalacheck/wiki/UserGuide
What is ScalaCheck?
ScalaCheck is a tool for testing Scala programs, based on property specifications and automatic test data generation. The basic idea is that you define a property that specifies the behaviour of a method or some unit of code, and ScalaCheck checks that the property holds. All test data are generated automatically in a random fashion, so you don't have to worry about any missed cases.
(多分)
ScalaCheckって何ですか?
ScalaCheckは、プロパティの仕様と自動テストデータ生成に基づいてScalaプログラムをテストするためのツールです。
基本的な考え方は、あなたがメソッドのふるまい、又はコードの単位を指定するプロパティを定義するということです。
そして、ScalaCheck はプロパティが持ちこたえるのをチェックします。
すべてのテストデータが無作為のファッションで自動的に生成されるので、あなたはどんな逃されたケースも心配する必要はありません。