すごい久々の Java ネタ。
今、ITpro の Java 技術最前線で、VisualVM の記事を書いてます (第 1 回へのリンク)。
たぶん、VisualVM の日本語の記事は初じゃないかなぁと自負しております。id:cero-t を差しおいて、書いてしまいました ^ ^;;
意外に書いてみると、いろいろと書きたいことが多く、3 ヶ月も引っ張っています。
まぁ、それはそれで見ていただくとして、今日はその記事の中で使用したツールについて。
ヒープのリークを発見するという時に、GUI を連続実行させるために SwingUnit というツールを使いました。
VisualVM の記事なので、SwingUnit に関しては説明をはしょってしまったのですが、SwingUnit に興味を持たれた方がちらほら。
そこで、SwingUnit の増補版を書いてみようと思います。
ところで、私が SwingUnit に出会ったのは、JavaOne 2005 Tokyo の Night for Java Technology の時です。
Night for Java Technology は、ライトニングトーク形式でアプリをデモする、デモ大会なのです。
その中で、櫻庭が注目したのが、SwingUnit だったわけです。
Night for Java Technology に出場しているということは、SwingUnit を開発しているのが日本人ということです。安中さんという方が開発を続けています。
で、いつか紹介したいとつねづね思っていたのです。
それはそうと、こういうデモ大会っていいですよね。JavaOne Tokyo がなくなってしまったので、Night for Java Technology もなくなってしまったのですが、ぜひ復活してもらいたいなぁ。
一度、JJUG で CCC にやりたいと幹事会で提案したんですけど、時間がなくてあきらめちゃったんですよね。
まぁ、それはそれとして、SwingUnit です。
SwingUnit は Unit という名前がつくことからも分るように JUnit と組み合わせて、Swing のアプリケーションをテストするために使用します。
Swing のテストというと、各コンポーネントを特定するため、ID を振らないとダメなような気がします。しかし、SwingUnit ではコンポーネントを特定するために ID だけでなく、ラベル名なども使って特定することができます。このため、テストを前提に作っていない Swing アプリケーションでも、大概はテストのために実装を追加する必要がありません。
テスト自体は XML で記述します (シナリオといいます)。テストシナリオを XML で記述できるので、テストを書き直してもコンパイルの必要はありません。
ただ、この XML を書くのが面倒なんですよねぇ... というのは昔の話。
以前は手で書かなくてはいけなかったのですが、今はシナリオのための専用のエディタがあるため、以前に比べるとずっと楽にシナリオを書けるようになりました。
しかも、オープンソースで開発されているのです。
というわけで、Swing アプリケーションのテストをするのであれば、SwingUnit はかなり強力な手助けになること間違いなしです。
この SwingUnit ってかなり強力なツールなんですけど、イマイチ知名度は低いような気が... せっかく日本初でこういうツールがあるのですから、ぜひ使ってみないと。
でも、長くなったので、実際に使ってみるのは次回。
0 件のコメント:
コメントを投稿