liu
昨天 43aab58c9ecb1203770ba382efbdbae299ca87ec
yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/controller/admin/energy/EnergyRecordControllerContextTest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
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.registerBean("energyExportService", cn.iocoder.yudao.module.mes.service.energy.EnergyExportService.class,
                    () -> mock(cn.iocoder.yudao.module.mes.service.energy.EnergyExportService.class));
            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);
        }
    }
}