個人事業主の方必見!確定申告のお悩み解決

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

A 回答 (2件)

まったくの推測ですが、単にsetUp()を呼んでからテストメソッド群を呼んで、


そのクラスのテストが終わったらtearDown()を呼ぶ、という動作をリフレクションか何かでやっているだけだと思いますよ。
アスペクト指向のような振る舞いはなくともJUnitの動作は説明できます。

たとえばJUnitではテストメソッドはJUnitが自動的に呼び出してくれますが、
ユーザがわざわざテストメソッドを呼び出すコードを書いたとしましょう。
そのときに勝手にsetUp()の呼び出しをJUnitが付け加えていたら、それはアスペクト指向的な動作だと思います。
しかしユーザがテストメソッドを直接呼んだのにJUnitが勝手にsetUp()やtearDown()を付け加えたりはしません。
アスペクト指向とは無関係だと思います。
    • good
    • 0
この回答へのお礼

お礼が遅くなって申し訳ありませんでした。

不勉強のためリフレクションという機構をはじめて知りました。
動的にメソッドを指定するのをどうやるのか
いつも疑問に思っていたのですが、これで解決です。

ご親切にありがとうございました。

お礼日時:2008/04/29 21:52

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む


人気Q&Aランキング