package cn.iocoder.yudao.module.mes.controller.admin.energy; import cn.iocoder.yudao.module.mes.dal.dataobject.energy.EnergyRecordDO; import cn.iocoder.yudao.module.mes.dal.mysql.energy.EnergyRecordMapper; import cn.iocoder.yudao.module.mes.service.energy.EnergyRecordService; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.*; class EnergyRecordControllerContextTest { @Test void injectsEnergyServiceWhenAnUnrelatedRecordServiceBeanExists() { EnergyRecordMapper mapper = mock(EnergyRecordMapper.class); EnergyRecordDO record = new EnergyRecordDO(); record.setId(12L); when(mapper.selectById(12L)).thenReturn(record); try (AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext()) { // 模拟日志组件的同名 Bean,防止 @Resource 按字段名误选。 context.registerBean("recordService", Object.class, Object::new); context.registerBean("energyRecordMapper", EnergyRecordMapper.class, () -> mapper); context.register(EnergyRecordService.class, EnergyRecordController.class); context.refresh(); EnergyRecordController controller = context.getBean(EnergyRecordController.class); assertEquals(12L, controller.get(12L).getData().getId()); verify(mapper).selectById(12L); } } }