なひです.参考になります.

> From: Masaki Suketa [mailto:CQN02273 / nifty.ne.jp]
> Sent: Saturday, December 18, 1999 9:27 PM

> > フォーマットは適宜TestSupp::report()をいじればよいんですが,
> > ファイルへの書き出しや,テスト中に外部からSIGUSR1などをもらって
> > ステータスをdumpするなどしたかった.
> 
> > やられた...調査不足でした.前者(例外)に関しては
> > RubyUnitを採用すれば解決できましたね.手遅れ.あーうー(涙).
> 
> こっちもあまり宣伝してないからなあ.
> 後者についても単にファイルへの書き出しくらいなら TestResult
> クラスを派生させて FileOutTestResult を用意すればできると思います.

自動テストでregressionテスト(回帰テスト)をやる場合,
期待結果をどこぞのファイルに入れておいて,それを読みながら
ターゲットの挙動とそいつを付き合わせる,
なんてことがやりたくなりますよね.
ツールによっては,テスト結果を収めたファイルを,
そのまま別のテストの期待結果として使えたりする.
あるターゲットをNTで動かす時に,
Solarisで動かしたときと比べながらテストしたり,
HPで動かしたときと比べながらテストしたり.

# WinRunnerにはこの機能が組み込まれていますね.
# えーとたぶんRationalの^^; SQA Robotもそうじゃないかと思いますが,
# よくわかりません.VisualTestにはない.

そういうイメージからすると,現状のTestResultでどうかな,
と感じました.もちろん,TestResultを継承してどんどん機能を
組み込んでいけばいいんですが(そんなこと言ったらナンでもありか? ^^;),
フレームワークとしてのサポートがないようなら,
あまりそれに従うメリットもないかな,と.

ただし,RubyUnitのベースとなっているTesting Frameworkを
ちゃんと理解していないので,大嘘いってるかもしれません.
その場合はご指摘いただけると嬉しいです.

> > # Assert以外の例外を分類できるようになると,
> > # 後者(レポート機能)につなげやすいかもと思いました.
> 
> これは simple.rb の実行結果で
> 
>   simple.rb:18:in `test_add' (AssertionFailedError)
>   simple.rb:23:in `/' divided by 0(ZeroDivisionError)
> 
> の2行目の ZeroDivisionError じゃ駄目ですか?

そうですね.上はadd_failureで,下がadd_errorですよね?
add_errorをもう少し細かく分類したいかな,というつもりでした.
って,TestResultを書き換えればいいのか.あら?
さすがにここを書き換えるとFramework違反? ^^;

> # C++, Java, Smalltalk, Perl, Visual Basic などの実装がある
> # Kent Beck の Testing Framework をベースにしているので
> # 逆に Ruby らしい特徴は生かせてないかも知れない.

なひも時間が取れたら上記フレームワークを勉強してみます.

--
NaHi, nakahiro, a.k.a. NAKAMURA, Hiroshi
http://www.sarion.com  Sarion Systems Research