У меня есть этот тестовый класс:
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = { CrimeServiceDBImpl.class, CrimeController.class, Crime.class })
@ComponentScan("com.springmiddleware")
@EntityScan(basePackages = {"com.springmiddleware.entities"})
@DataJpaTest
@AutoConfigureTestDatabase(replace = Replace.NONE)
@EnableJpaRepositories("com.springmiddleware")
public class TestCrimeServiceDB {
@Autowired
private CrimeServiceDBImpl service = new CrimeServiceDBImpl();
@Test
public void getAll() {
try {
List<Crime> list = this.service.getAllCrimes();
assertTrue(list.size()!=0);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Метод getAllCrimes()
из класса обслуживания делает именно это:
@Service
public class CrimeServiceDBImpl implements CrimeService{
@Autowired
private CrimeRepository repository;
private List<Crime> list = new ArrayList<Crime>();
public CrimeServiceDBImpl() {
list = UtilityMethods.readFromCSV();
};
@Override
public List<Crime> getAllCrimes() throws IOException {
repository.saveAll(list);
return this.repository.findAll();
}
Если я вызываю этот метод при запуске приложения, оно корректно добавляет все мои объекты в базу данных, но при вызове из теста ничего не добавляется, но исключение не выдается.