云
17 小时以前 d6b144421f86bcaaef5f21ddda193ab6f58b0d57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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);
        }
    }
}