【发布时间】:2017-07-03 09:05:56
【问题描述】:
我有一个 Spring Boot 应用程序和其他一些应用程序应该与之交互的组件。但是,在我的单元测试中,我只使用应用程序功能,我想模拟外部 API 调用。我被困住了,因为我找不到像这样模拟案例的方法:
我用 main 方法开始上课:
@ComponentScan("com.sample.application")
@SpringBootApplication
public class MyApp implements CommandLineRunner {
@Autowired
private OuterAPI outerAPI;
public static void main(String[] args) {
SpringApplication.run(AdRedirectorMain.class, args);
}
@Override
public void run(String... args) throws Exception {
outerAPI.createInstances();
}
...
}
这是我的测试类示例:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MyApp.class)
public class MyAppTest {
// any tests
}
我正在使用 Spring Boot、JUnit、Mockito。
所以,我遇到了这个问题 - 我怎样才能通过反射或任何其他方式避免使用 Mockito 调用 createInstances() 方法。
【问题讨论】:
标签: java spring spring-boot mockito