【发布时间】:2020-11-30 05:47:18
【问题描述】:
我使用带有 mapstruct 的 spring boot 2.3.2。
在一个服务类中,我有一个具有自动装配注释的映射器。
@Service
public BillingService{
private BillingRepository billingRepository;
@Autowired
private BillingMapper billingMapper;
@Autowired
public BillingService (BillingRepository billingRepository){
this.billingRepository=billingRepository;
}
public void getBilling(Long billingId){
....
billingMapper.convertTo(...);
}
}
@RunWith(MockitoJUnitRunner.class)
public class BillingServiceTest{
@Mock
BillingRepository billingRepository;
private BillingService bilingService;
@Spy
private BillingMapper billingMapper = Mappers.getMapper(BillingMapper.class);
@BeforeEach
public void setup(){
MockitoAnnotations.initMocks(this);
billingService = new BillingService();
}
@Test
public void testGetBilling(){
List<Billing> billings = new ArrayList<>();
...
List<BillingPayload> payloads = new ArrayList<>();
when(billingMapper.convertTo(billings)).thenReturn(payloads);
bilingService.getBilling(1l);
}
}
@Mapper(componentModel="spring")
public interface BillingMapper{
...
}
当我调试时卡在 BillingService 类的 getBilling 方法中,billingMapper 始终为空;
【问题讨论】:
标签: spring spring-boot mockito mapstruct