aunitは必要以上に小さい。必要以上という事は、必要な物がないという事だ。
具体的に言えばseleniumで言う所のlocator、つまりgetElementBy*シリーズが足りない。
本格的に使う場合はこれらを自分で作る事になる(し、私の手元では作っている)。
では何故最初から配布に含めないのか、というと
- そんな物は誰でも作れる(既に持っている場合もある!)
- 初期の学習コストを低くしたい
というのが理由。特に2を重要視している。
JsUnitもそうだが、この手のツールは細かい所に凝ろうとすると複雑になりがちだ。
だが、deployの回りが複雑なフレームワークを使っている場合等、複雑だと困るシチュエーションは結構多い。
aunitには、assertシリーズがTrueしか無いし、onloadの回りは分かりやすいが格好悪い。
でも必要なAPIの数はとても少ない。
グローバルの名前空間の汚染を防ぐ為にprefixをつけているが、ここで無理にハッシュにつめたりして汚染を防ごうとはしていない。
実用上十分な範囲で、しかも複雑さが最低になる状態での対処しか行なっていない。
aunitはいじる事を前提に作っている。
手元では随分と違う形になっているのだが、公開時にそれを取り去っている。
ローカルでどう使っているのかを見せるのは構わないし、今後そういう話はしていく予定だ。
だが、aunitに機能を追加する予定は今の所ない。
追加するとすれば、excampleとドキュメントくらいな物だ。
aunitは理解が簡単だ。u.Tとu.Dだけ理解すれば、実質全てを理解したような物だ。
しかもu.Tはロードしたフレームのwindowオブジェクト、u.Dはロードしたフレームのdocumentオブジェクトだ。これで分かる人には全てが理解出来る。
この手のツールはどこまでシンプルに出来るかが腕の見せ所だ。
ダウンロードしてサンプルを動かす。で、それを読む。
そこで全てが分かるように作る事が出来れば、それが一番いい。
使ってみるまで良く分からない、という作りでは、使う前に挫折してしまう。