Я пытаюсь написать тест для одной из моих служб. Служба использует автономный репозиторий, который использует jdbcTemplate для доступа к БД. Проблема в том, что тест фактически помещает данные в реальную БД.
Вот мой тестовый класс:Служба тестирования SpringBoot (с использованием репозитория с JDBCTemplate)
@SpringApplicationConfiguration(Application.class)
@SpringBootTest(classes = { UserServiceImpl.class, UserService.class })
@RunWith(SpringJUnit4ClassRunner.class)
public class UserServiceTest {
@Autowired UserService userService;
@Test
public void test() {
final String fName = " xxxxxx ";
User user = new User();
user.setFirstName(fName);
user.setLastName(fName);
user.setEmail(fName);
user.setLogin(fName);
user.setPhone(fName);
userService.create(user);
user = userService.getUserByLogin(fName).get();
assertEquals(fName, user.getLogin());
}
}
Что я могу сделать, чтобы предотвратить UserService работать с реальной БД и как-то просто сделать моделирование?
Спасибо! Мне также нужно было реализовать JdbcTemplate @Bean и добавить зависимость от H2, но это привело меня к правильному пути, спасибо. – gygabyte