如何为工厂类编写mockito测试用例

时间:2018-02-13 10:12:34

标签: java junit mockito

我是编写测试用例的新手。我想写下面的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测试用例。

1 个答案:

答案 0 :(得分:0)

您可能希望在此课程中测试的唯一方法是公共convertEventToEntity方法。该类有两个依赖项 - dataServicemodelMapper。但是代码中没有使用它们,所以你不需要嘲笑它们。因此,您可以在不使用Mockito的情况下为此类编写测试。只需创建一个FactoryClass对象,并使用一些输入CEvent和Event对象调用该方法。您可以在预期的List<TestEntity>上声明。

您可以在此方法中测试多个逻辑路径。例如,只有在存在cEvent的订单详细信息时才会执行if条件。因此,您可以在两个测试用例中传递带有和不带订单详细信息的cEvent,并且可以验证代码是否在两种情况下都能正确执行。