Assurer - サーバテスティングフレームワーク #1

typester さん が del.icio.us で「開発参加したい!」とおっしゃってくださったので、#assurer@freenode チャネルつくりました。まだおおまかな仕様すら固まっていない段階なので、いろいろご助言頂けると大変うれしいです。ご興味のある方はぜひ!

で、本題。Assurer (SVN) をちょっと修正しました。修正点は以下の通りです。

今回追加した Assurer::Test というクラスは Test::Builder を利用していて、 Test::More の代わりとしてテスト用プラグインから利用することを想定しています。

なぜわざわざこのクラスを作ったかというと、テスト結果出力を色分けしたかったからです。実行するとこんな感じの出力になります。(RSS リーダだと色が見えないと思いますが…)

$ ./assurer.pl -c examples/config.yaml
[info] Testing http://svn.mizzy.org/ #0
ok 1 - Content of http://svn.mizzy.org/ matches 'It works!'
[info] Testing http://svn.mizzy.org/ #1
not ok 2 - Content of http://svn.mizzy.org/ matches 'It not works!'
#                   '<html><body><h1>It works!</h1></body></html>'
#     doesn't match '(?-xism:It not works!)'

また、

global:
  config:
    no_diag: 1

といった設定をすると、以下のように diag message を表示しなくなります。

$ ./assurer.pl -c examples/config.yaml
[info] Testing http://svn.mizzy.org/ #0
ok 1 - Content of http://svn.mizzy.org/ matches 'It works!'
[info] Testing http://svn.mizzy.org/ #1
not ok 2 - Content of http://svn.mizzy.org/ matches 'It not works!'

Assurer::Test は今後、 Assurer::Test::More とか Assurer::Test::Class といった感じでベースとなる Test::* に応じて細分化するかもしれません。