如果它不是直接依赖,我可以模拟对被测系统的依赖吗?

时间:2017-03-06 12:51:13

标签: java junit mockito spring-test

我的问题涉及Mockito,JUnit和Spring Test。

假设我在应用程序中有以下依赖关系图:

SystemUnderTest --> Service1 --> Service2 --> ServiceN

我是否可以模拟 ServiceN ,即使它不是被测系统的直接依赖关系(SystemUnderTest),而是传递依赖关系(仅Service1}是上面的直接依赖)?

所有这一切,假设Service1Service2都没有被模仿(spy()除外)。

1 个答案:

答案 0 :(得分:1)

是的,可以使用MockBean注释。

Example source:

@RunWith(SpringRunner.class)
@SpringBootTest
public class MockBeanIntegrationTest {
    @MockBean
    private SomeService someService;
    @Before
    public void setupMock() {
        when(someService.getResult())
            .thenReturn("success");
    }
}