3

PowerMockを別のアプリケーションのライブラリとして使用しようとしています。アノテーションを使用せずに静的メソッド呼び出しをモックするためにそれを使用する方法はありますか(私は実際にはアノテーションを行わないClojureにいます)

4

2 に答える 2

2

powermockのサポートとこのブログによると、テストで注釈を回避する方法はないと思います。@PrepareForTest(StaticClass.class)しかし、私たちは必要だと思います。@PrepareForTestですから、少なくとも避けられないと思います。私は間違っているかもしれませんが、私が見つけたものを共有することを考えました。

于 2012-01-08T08:41:20.217 に答える
0

実際、それは可能ですが、最終的な解決策への道は苦痛です。

PowerMockランナーは、PrepareForTestアノテーションで指定されたクラスがJavassistによって微調整される、さまざまなクラスローダーでテスト環境を初期化するだけです。したがって、クラスローダーの作業を模倣し、自分でJavassistを呼び出すと仮定すると、同じ効果を達成できます。

例として、PowerMock(アノテーションなしの内部)を使用して、特定のメソッド参照のメソッド名を検出しました。詳細については、私のブログ(チェコ語、実例付き)を参照してください。このような使用法は実験的なものであり、実稼働での使用には適していないことを強調します。

于 2018-02-02T13:28:02.527 に答える