Cześć,
mam klase która kkorzysta z bazy dancyh, chciałbym ja przetestować. Wiem że do takich testów służą testy integracyjne, natomiast czy jest mozliwość stworzenia jakiejś testowej bazy dancyh lub po prostu ją czymś zastąpić żeby sprawdzić czy klasa działa poprawnie i czy zwraca oczekiwane wartości.
Kod który chę przetestować:
Czy jest mozliwośc zastąpienia w testach MoneyRepository aby sprawdzić poprawność działania kodu ?
(Uruchamianie co chwilę aplikacji i debugowanie jej jest zbyt czasochłonne)
class Service {
private Map<String, Double> sumOfOperationsMap(MoneyRepository moneyRepository) {
List<MoneyOperations> moneyOperationsList = (List<MoneyOperations>) moneyRepository.findAll();
Map<String, Double> calculationMap = new HashMap<>();
for (MoneyOperations moneyOperations : moneyOperationsList) {
if (!calculationMap.containsKey(moneyOperations.getName())) {
calculationMap.put(moneyOperations.getName(), moneyOperations.getAmount());
} else if (calculationMap.containsKey(moneyOperations.getName())) {
double value = +moneyOperations.getAmount();
calculationMap.put(moneyOperations.getName(), value);
}
}
return calculationMap;
}
List<CalculationValues> calculationValuesList(MoneyRepository moneyRepository) {
int index = 1;
Map<String, Double> map = sumOfOperationsMap(moneyRepository);
List<CalculationValues> list = new LinkedList<>();
Set set = map.entrySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
list.add(index, new CalculationValues(entry.getKey().toString(), (double) entry.getValue()));
index++;
}
return list;
}
}