3

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

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

applicationContext.getBean(beanName, Employee.class);
4

1 回答 1

0

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

话虽如此,我同意@DarrenForsythe 的观点,即您不应该自动装配此类。

于 2018-08-17T23:00:17.720 回答