我们有以下模式,它对测试执行时间产生了巨大的影响。
我想明白为什么。
@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 容器中获取它的共享实例。
备注:我为实例添加了一个公共静态设置器(破坏了单例的想法)但为此赢得了 25 秒!
问题:“PrepareForTest”和“mockStatic”究竟做了什么需要 25 秒?