如果我误解了某些东西,请原谅我,但是如果您使用的是 PowerMockito,您就不能按照以下方式做一些事情:
@RunWith(PowerMockRunner.class)
@PrepareForTest(SpringContext.class)
public FooTest {
@Test
public void foo() {
final ReManager manager = Mockito.mock(ReManager.class);
PowerMockito.mockStatic(SpringContext.class);
Mockito.when(SpringContext.getBean("reManager")).thenReturn(manager);
... etc...
}
}
在此处查看有关如何验证静态行为的更多信息。
或者...我会更改设计,以便将您的依赖项传递给被测类,例如:
@Test
public void foo() {
final ReManager manager = Mockito.mock(ReManager.class);
final ServiceImpl service = new ServiceImpl(manager);
... etc...
}
这样就不需要 PowerMock,您的测试变得更容易,并且类之间的耦合更少。