Опционально возвращает пустой объект с Mockito - PullRequest
0 голосов
/ 15 мая 2019

У меня есть следующий код в моем тестовом примере, но когда в тестовом примере вызывается метод discountCurveReqMapper.getMapping, он возвращает пустой * Необязательный объект вместо DiscountCurveReqMap объект

Может кто-нибудь подсказать, в чем здесь проблема.

@RunWith(SpringRunner.class)
@SpringBootTest
public class IRSwapValuatorTest {


    @Autowired
    private IRSwapValuator valuator;

    @Mock
    private RestTemplate restTemplate;

    @Mock
    private YieldCurveProvider yieldCurveProvider;

    @Mock
    private ApplicationProperties applicationProperties;

    @MockBean
    private DiscountCurveReqMapper discountCurveReqMapper;

    @MockBean
    private SDPFixingInstrumentServiceImpl fis;

    @Before
    public void setUp() {

        .....
        .....

        DiscountCurveReqMap discountCurveReqMap = new DiscountCurveReqMap();
        when(discountCurveReqMapper.getMapping(any(String.class), any(String.class), any(Optional.class))).thenReturn(Optional.of(discountCurveReqMap));
        when(fis.load(any(String.class),any(String.class))).thenReturn(Optional.empty());
        this.valuator = new IRSwapValuator(restTemplate, applicationProperties, new SimpleMeterRegistry(), yieldCurveProvider, discountCurveReqMapper,fis);
    }

Редактировать:

Подпись для метода getMapping:

public Optional<DiscountCurveReqMap> getMapping(@NotNull String currency,@NotNull  String type, Optional<String> settlement) {
        String key = currency + "_" + type + "_" + settlement.orElse("");
        return Optional.ofNullable(map.get(key));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...