- ベストアンサー
JUnitの仕組みについて
JUnitではtestと名前のついたメソッドに対して、そのメソッドの前にsetUp()とtearDownメソッドを挟んで実行することができますが、その仕組みはどうやっているのでしょうか?この仕組みを知ればアスペクトプログラミングをXMLなしでできるのではないかと思いまして、、 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まったくの推測ですが、単にsetUp()を呼んでからテストメソッド群を呼んで、 そのクラスのテストが終わったらtearDown()を呼ぶ、という動作をリフレクションか何かでやっているだけだと思いますよ。 アスペクト指向のような振る舞いはなくともJUnitの動作は説明できます。 たとえばJUnitではテストメソッドはJUnitが自動的に呼び出してくれますが、 ユーザがわざわざテストメソッドを呼び出すコードを書いたとしましょう。 そのときに勝手にsetUp()の呼び出しをJUnitが付け加えていたら、それはアスペクト指向的な動作だと思います。 しかしユーザがテストメソッドを直接呼んだのにJUnitが勝手にsetUp()やtearDown()を付け加えたりはしません。 アスペクト指向とは無関係だと思います。
その他の回答 (1)
- planet_9_9
- ベストアンサー率68% (57/83)
回答No.1
Junitのソースファイルを見れば分かると思います。
お礼
お礼が遅くなって申し訳ありませんでした。 不勉強のためリフレクションという機構をはじめて知りました。 動的にメソッドを指定するのをどうやるのか いつも疑問に思っていたのですが、これで解決です。 ご親切にありがとうございました。