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 の回転の速度を稼げる。回転重要。
うん。そんな感じ。