У меня есть пружинный бин с несколькими API.Mocking bean не служит моей цели, так как я хотел бы проверить, что fetchFromDb () вызывается только один раз при множественных вызовах getCachedData () с одним и тем же вводом.Это делается для того, чтобы убедиться, что результат кешируется.
Возможно ли смоделировать fetchFromDb () на bean-компоненте market при вызове getCachedData ()?
Класс образцов
@Configuration("market")
public class AllMarket {
@Autowired
private CacheManager cachedData;
public boolean getCachedData(LocalDate giveDate) {
//check if it exists in cache
if(Objects.nonNull(checkCache(giveDate)) {
return checkCache(giveDate);
}
//fetch from database
boolean bool = fetchFromDb(givenDate);
cacheData(giveDate, bool);
return bool;
}
public boolean checkCache(LocalDate giveDate) {
return cacheManager.getData(givenDate);
}
public boolean fetchFromDb(LocalDate givenDate) {
//return the data from database
}
public void cacheData(LocalDate givenDate, boolean bool) {
cacheManager.addToCache(givenDate, bool);
}
}