6

次のパターンがあり、テスト実行時間に劇的な影響を与えました。

理由を理解したい。

@RunWith(PowerMockRunner.class)
@PrepareForTest(SomeSingleton.class)
public class SomeTest {

@Before
public void setUp() throws Exception {
    PowerMockito.mockStatic(SomeSingleton.class);
    Mockito.when(SomeSingleton.getInstance()).thenReturn(new SomeSingleton());
}

クラス SomeSingleton は非常にレガシーであり (冗談ではありません)、Spring コンテナーから共有インスタンスを取得します。

備考: インスタンスに public static setter を追加しました (シングルトンのアイデアそのものを台無しにしました) が、これで 25 秒勝ちました!

質問: "PrepareForTest" と "mockStatic" は、25 秒かかる正確には何をしますか?

4

0 に答える 0