弹簧测试模拟静态方法全局



在春季测试中,我知道我可以模拟静态方法(通常是静态util方法:生成id,从Redis获取值)使用Mockito喜欢:

try (MockedStatic) {
}

但是必须在每个测试方法中这样做是丑陋和繁琐的,是否有任何方法可以做到这一切(我可以有一个单一的模拟行为)

我想也许是junit5扩展,或Mockito扩展,这似乎是一个常见的问题,我想知道是否有人尝试任何成功的东西。

try this

public class StaticClassTest {
MockedStatic<YourStatic> mockedStatic;
@Before
public void setup() {
mockedStatic = Mockito.mockStatic(YourStatic.class);
// if you want the same behavior all along.
mockedStatic.when(() -> YourStatic.doSomething(anyString())).thenReturn("TEST");
}

@Test
public void test_static() {
// write your test here
}

@After
public void teardown() {
mockedStatic.close();
}
}

最新更新