我是编写测试用例的新手。我想写下面的Mockito测试用例:
@Component
public class FactoryClass {
@Autowired
private DataService dataService;
@Autowired
private ModelMapper modelMapper;
public List<TestEntity> convertEventToEntity(CEvent cEvent, Event event){
List<TestEntity> TestEntityList =new ArrayList<>();
if (!CollectionUtils.isEmpty(cEvent.getOrderDetails())) {
for (CEventDetail cEventDetail : cEvent.getCEventDetail()) {
log.info("Creating TestEntity entity ..");
TestEntity testEntity = new TestEntity();
testEntity.setEId(event.getEId());
testEntity.setActId(event.getHeaderReference().getActId());
testEntity.setEName(event.getEType());
tfbUpgrades.setPO(cEventDetail.getPO());
TestEntityList.add(testEntity);
}
}
return TestEntityList;
}
}
任何人都可以帮我解决代码示例,为工厂类编写mockito测试用例。
答案 0 :(得分:0)
您可能希望在此课程中测试的唯一方法是公共convertEventToEntity
方法。该类有两个依赖项 - dataService
和modelMapper
。但是代码中没有使用它们,所以你不需要嘲笑它们。因此,您可以在不使用Mockito的情况下为此类编写测试。只需创建一个FactoryClass对象,并使用一些输入CEvent和Event对象调用该方法。您可以在预期的List<TestEntity>
上声明。
您可以在此方法中测试多个逻辑路径。例如,只有在存在cEvent的订单详细信息时才会执行if条件。因此,您可以在两个测试用例中传递带有和不带订单详细信息的cEvent,并且可以验证代码是否在两种情况下都能正确执行。