私はいくつかのSFTP検証のためのテストを書いています。私は組み込みsftpサーバを実行しています。特定のアノテーションを持つメソッドによって呼び出されるJavaメソッドの制限
ので、私のようなクラスを持っている:
public class SftpServer {
//method to initialize server
public void init(){};
//method to stop server
public void stop(){};
}
今、私のテストは、マルチスレッド環境で実行すると、私は、サーバーが起動または一度だけ停止することにしたい、私はユニットテストフレームワークとしてTestNG
を使用しています。
ので、私はinit
のみ@BeforeSuite
または@AfterSuite
注釈付きメソッドannotated
と呼ばれるstop
方法は、私は、Javaのドキュメントは多分それがこのように行われますが、私はしたい取得をお勧めする方法はにそれを強制することを知ってほしいですJavaでこの制限を何らかの形で課すことは可能でしょうか?
いいえ、注釈はコンパイラのメタ情報を保持するだけであり、メソッドへのアクセスを制限することはできません。 –
呼び出し元のメソッドの注釈クラス名を検索し、正しい注釈でない場合は例外をスローしますか? – Anirudh
呼び出しメソッドを見つけ、その注釈を解決するためにリフレクションを使用します:) –