如何在单元测试中模拟Spring Boot应用程序上下文

时间:2018-08-17 22:49:35

标签: spring-boot

我有一个Source类,该类具有Application Context类型的依赖项。使用这个我们可以实现多态。如何对此类进行单元测试。我正在使用Spring启动应用程序。

@Autowired
ApplicationContext applicationContext;
String beanName= "employeeImpl";

applicationContext.getBean(beanName, Employee.class);

1 个答案:

答案 0 :(得分:0)

对于尝试模拟难以模拟的类的情况,请考虑使用包装器类(即Adapter / Wrapper模式)。例如,可能会创建一个新类ApplicationContextAdapter,该类会作为易于模拟的类自动连接到被测类中。这个新类将在内部自动连接实际的ApplicationContext实例,并且可能具有getApplicationContext()方法来获取包装的实例。

话虽如此,我同意@DarrenForsythe的观点,即您不应该为该课程自动接线。