質問: junitの仕組みについて junitではtestと名前のついたメソッドに対して、そのメソッドの前にsetup()とteardownメソッドを挟んで実行することができますが、その仕組みはどうやっているのでしょうか?この仕組みを知ればアスペクトプログラミングをxmlなしでできるのではないかと思いまして、、 よろしくお願いいたします。
回答: まったくの推測ですが、単にsetup()を呼んでからテストメソッド群を呼んで、 そのクラスのテストが終わったらteardown()を呼ぶ、という動作をリフレクションか何かでやっているだけだと思いますよ。 アスペクト指向のような振る舞いはなくともjunitの動作は説明できます。 たとえばjunitではテストメソッドはjunitが自動的に呼び出してくれますが、 ユーザがわざわざテストメソッドを呼び出すコードを書いたとしましょう。 そのときに勝手にsetup()の呼び出しをjunitが付け加えていたら、それはアスペクト指向的な動作だと思います。 しかしユーザがテストメソッドを直接呼んだのにjunitが勝手にsetup()やteardown()を付け加えたりはしません。 アスペクト指向とは無関係だと思います。