2009/11/16

SwingUnit (その 1)

このエントリーをはてなブックマークに追加

すごい久々の 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 件のコメント: