I have a spring boot project where I'm trying to mock my repository for tests. I would like my repository.count() to return 30L but it actually always return 0
@Service
@Transactional
public class DishServiceImpl implements DishService {
private final DishRepository dishRepository;
public DishServiceImpl(DishRepository dishRepository) {
this.dishRepository = dishRepository;
}
@Override
public List<Dish> searchDishes() {
long countDish = dishRepository.count();
System.out.println(countDish);
[...]
}
}
@RunWith(SpringRunner.class)
@SpringBootTest(classes = WhatAreWeEatingApp.class)
@Transactional
public class DishServiceTest{
@Mock
private DishRepository dishRepository;
@Autowired
private DishService dishService;
@Test
public void test(){
when(dishRepository.count()).thenReturn(30L);
dishService.searchDishes();
[...]
}