Test::MoreとかはPerlモジュールをテストするのには十分だが、俺が某社にいた頃にはPerlで製品の全てをテストしていて、さすがにTest::Moreでは限界があり自社フレームワークを使っていた。だけど俺は本当に本当に本当に本当に本当~~~~~~~~~~にこのフレームワークが嫌いだった。いわゆる「ユーザーのわがままを聞き過ぎ」なフレームワーク。なんでもできればいいってわけでもないのに言われる事を全部実装するもんだからもう何がどうなってるのかわからない。
っちゅうわけでそれに代わるフレームワークを書こう書こうと思ってたのだが、会社ではその仕事は禁じられたのでしぶしぶ仕事をサボってDateTime系のモジュールを書いてたりしてた(おいっ)。
んで、今日一日でとりあえず
# test.jpl
use JINN::Test::JPL;ok(1, "Tests pass");
というコードを書いて
$ jinn test.jpl
+ test.jpl: Passed 1/1
All tests passed
まではできるようになった。これだけだと、Test::Moreと変わらないのだが、まぁとりあえずそこはご愛嬌。このコードだけでは何もわからないけど、
- テストそれぞれがオブジェクトにもなれるのと
- 個々のテストの組み合わせを実行できる
- なおかつ階層的に組み合わせて、テストの中から他のテストを実行できる
- 様々なマシンに入ってコマンドを実行できる
- マルチスレッドで動かせる
というのが目標。