как смоделировать метод, который возвращает будущий Java-объект, используя mockito - PullRequest
0 голосов
/ 31 мая 2018

У меня есть метод validate, для которого мне нужно написать тестовые случаи junit

public List<Field> validate(){

        final Future<Map<ObjectId, Field>> uniqueResult = globalUniqValidator.execute(uniqueValidations,
                validationContent.getEvalFieldValueMap(), inputFieldValuesMap);

        final Future<Map<ObjectId, Field>> subnetResult = globalSubnetValidator.execute(subnetValidations,
                validationContent.getEvalFieldValueMap(), inputFieldValuesMap, surveyTemplateRefId);
}

у него есть два метода, которые возвращают будущий объект

@RunWith(MockitoJUnitRunner.class)
public class GlobalValidationServiceTest {
    @Mock
    private Future<Map<ObjectId, Field>> future;

    @Test
    public void validateGlobalValidation() throws Exception {

    given(globalUniqValidator.execute(uniqueValidations, validationContent.getEvalFieldValueMap(), inputFieldValuesMap)).willReturn(future);
    when(future.get()).thenReturn(inputFieldValuesMap);



    given(globalSubnetValidator.execute(globalValidation, evalFieldValueMap, inputFieldValuesMap, surveyTemplateRefId)).willReturn(future);
    when(future.get()).thenReturn(inputFieldValuesMap_subnet);


    }

, однако при отладке я получаюNULL как для uniqueResult, так и для subnetResult
Я полагаю, что он не подвергается насмешке

В нем также говорится о неиспользованном издевательстве в строках, где написано издевательство

Я что-то упустил?

...