1

テスト中の私のクラスは Main 自体 (Main.doSomething) にアクセスします。

MockitoでPowermockを使用しています。

4

3 に答える 3

3

MainJavaのクラスの予約語ではありません。これは、他のクラスと同じようにテストできることを意味します。doSomethingあるstaticかどうかによって異なりますfinal

于 2013-02-05T08:23:02.797 に答える
2

静的メソッドをモックする必要があることは悪い習慣です (モックすることになっている場合、メソッドは静的であってはなりません:クラスのテストが難しい場合 – クラスをリファクタリングします-- http://monkeyisland.pl/2008/ 01/14/mockito/ )。

それにもかかわらず、powermock でそれを行う方法は次のとおりです。

PowerMockito.mockStatic(Main.class);
PowerMockito.when(Main.doSomething()).thenReturn(something);

ドキュメントはこちら: http://code.google.com/p/powermock/wiki/MockStatic

静的メンバーをモックするには、次のようにします。

Whitebox.setInternalState(Main.class, doSomething);
于 2013-02-05T08:34:20.783 に答える
0

より強力なモッキング フレームワークはJMockit. これにより、モッキングとスタブ機能が強化されます。

チェックアウト:http://code.google.com/p/jmockit/

于 2013-02-05T08:47:07.243 に答える