• ベストアンサー

JUnitの仕組みについて

JUnitではtestと名前のついたメソッドに対して、そのメソッドの前にsetUp()とtearDownメソッドを挟んで実行することができますが、その仕組みはどうやっているのでしょうか?この仕組みを知ればアスペクトプログラミングをXMLなしでできるのではないかと思いまして、、 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

まったくの推測ですが、単にsetUp()を呼んでからテストメソッド群を呼んで、 そのクラスのテストが終わったらtearDown()を呼ぶ、という動作をリフレクションか何かでやっているだけだと思いますよ。 アスペクト指向のような振る舞いはなくともJUnitの動作は説明できます。 たとえばJUnitではテストメソッドはJUnitが自動的に呼び出してくれますが、 ユーザがわざわざテストメソッドを呼び出すコードを書いたとしましょう。 そのときに勝手にsetUp()の呼び出しをJUnitが付け加えていたら、それはアスペクト指向的な動作だと思います。 しかしユーザがテストメソッドを直接呼んだのにJUnitが勝手にsetUp()やtearDown()を付け加えたりはしません。 アスペクト指向とは無関係だと思います。

nonJump
質問者

お礼

お礼が遅くなって申し訳ありませんでした。 不勉強のためリフレクションという機構をはじめて知りました。 動的にメソッドを指定するのをどうやるのか いつも疑問に思っていたのですが、これで解決です。 ご親切にありがとうございました。

その他の回答 (1)

回答No.1

Junitのソースファイルを見れば分かると思います。

関連するQ&A