SimpleTestをCIへ活かす

まず exit status を返す

昨日(2010-04-04)Integrity を教えてもらった。Integrity 自体は他のツールと違って testing framework との間をわざわざ取り持とうとはしていなくて、exit status さえ返せば判断できるっぽい。

ということでとりあえず普段使っている SimpleTest で exit status に test の結果を載せる方法を調べた。

exit( $test->run( $reporter ) ? 0 : 1 );

でイケる。

これだけ見るとなんのこっちゃって感じなので、次に TestSuite のコードを貼る。

exit status を返す TestSuite

Integrity を使おうと思ったら全テストの結果を exit status で返す必要がある。(はず。)そのためにまず全テストを回す TestSuite を作る。それが以下のコード。

わざわざ __FILE__ と比較して実行開始してるのは個々の test case と同じ書き方をしているため。っていうのと、普段使っている 1.0.0 は autotest に対応していないため。

こうしておくと test case を個別にテストできるし、test suite をまとめてテストすることもできる。個々のテストを回せる方が TDD の回転の速度を稼げる。回転重要。

うん。そんな感じ。

More