簡體   English   中英

Mockito 測試帶有 2 個參數的函數

[英]Mockito testing for function with 2 args

我有以下流:

Collection<FieldsMapperMetadata> fieldsMapperMetadataCollection =
            Optional.ofNullable(typesMapperDefinition.getFieldMappersDefinitions()).orElse(Collections.emptyList())
                    .stream()
                    .map(fieldsMapperDefinition -> fieldsMapperMetadataFactory.apply(typesMapperDefinition, fieldsMapperDefinition))
                    .collect(Collectors.toList());

我正在嘗試使用 mockito 來測試它,但是我在這部分遇到了問題

fieldsMapperDefinition -> fieldsMapperMetadataFactory.apply(typesMapperDefinition, fieldsMapperDefinition)

這是函數簽名

private BiFunction<TypesMapperDefinition, FieldsMapperDefinition, FieldsMapperMetadata> fieldsMapperMetadataFactory;

我試圖做這樣的事情:

 Mockito.when(fieldsMapperMetadataFactory.apply(Mockito.eq(typesMapperDefinition1,fieldsMapperDefinition1)).thenReturn(fieldsMapperMetadata1);

但似乎 Mockito.eq 不是正確的方法......對此的任何幫助都會得到幫助

你只傳遞一個參數給 apply 方法,你應該調用eq()兩次:

Mockito.when(fieldsMapperMetadataFactory
         .apply(Mockito.eq(typesMapperDefinition1), Mockito.eq(fieldsMapperDefinition1))
       .thenReturn(fieldsMapperMetadata1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM