以下のようなコードがあります。
@RetryOnFailure(attempts = Constant.RETRY_ATTEMPTS, delay = Constant.RETRY_DELAY, unit = TimeUnit.SECONDS)
public void method() {
// some processing
//throw exception if HTTP operation is not successful. (use of retry)
}
RETRY_ATTEMPTSおよびRETRY_DELAY変数の値は、int プリミティブである別のConstantクラスから取得されます。どちらの変数もpublic static finalとして定義されています。
単体テストケースの作成中にこれらの値をオーバーライドするにはどうすればよいですか。実際の値により、単体テストケースの実行時間が長くなります。
私はすでに2つのアプローチを試しました:両方ともうまくいきませんでした
- Whitebox.setInternalState() で PowerMock を使用する。
- リフレクションも使用します。
編集:
@ yegor256が述べたように、それは不可能です。なぜそれが不可能なのか知りたいのですが? これらの注釈はいつロードされますか?