2012-01-07 8 views
2

私は別のアプリケーションでPowerMockをライブラリとして使用しようとしています。 (実際には注釈をしない私はClojureの中でよ)注釈を使用せずに、静的メソッド呼び出しを模擬するためにそれを使用する方法はあり注釈なしでPowerMockを使用できますか?

答えて

1

powermockサポートとthis blogによると、私は注釈を回避するための方法はありません推測テスト中。私は@PrepareForTest(StaticClass.class)が必要だと思います。だから私は少なくとも@PrepareForTestを避けることはできないと信じています。私は間違っているかもしれませんが、私が見つけたものを分かち合うことを考えました。

0

最終的な解決方法は苦しいですが、実際は可能です。

PowerMockランナーは、PrepareForTest注釈で指定されたクラスがJavassistによって調整されている異なるクラスローダーでテスト環境を初期化するだけです。あなたがクラスローダーの仕事を模倣し、Javassistをあなた自身で呼び出すと仮定して、あなたは同じ効果を達成することができます。

例として、PowerMock(注釈のない内部)を使用して、特定のメソッド参照のメソッド名を発見しました。さらに詳しい情報は私のblog(チェコ語、実例あり)にあります。このような使い方は実験的なものであり、プロダクションでの使用には適していないことを強調します。

関連する問題