У меня есть следующий код в моем тестовом примере, но когда в тестовом примере вызывается метод 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));
}