Помогите разобраться. Использую Spring Boot 2.0 с Spring Data JPA
Есть мейн класс
@SpringBootApplication
public class PhoneBookApplication {
public static void main(String[] args) {
SpringApplication.run(PhoneBookApplication.class, args);
}
}
Также создан самый базовый репозиторий:
public interface UserRepository extends JpaRepository<User, Integer>{}
Есть обычное энтити, со всеми аннотациями, геттерами, сеттарами и конструктором.
Сейчас пытаюсь протестировать работу с БД. Создал простой тест.
@ActiveProfiles("test")
@RunWith(SpringRunner.class)
@SpringBootTest(classes=PhoneBookApplication.class)
@DataJpaTest
public class UserRepositoryTest {
@Autowired
public UserRepository userRepository;
@Test
public void createUser(){
User u = new User();
u.setFullName("FullName");
u.setPassword("123456");
u.setUserName("Name");
userRepository.save(u);
}
И здесь происходят все проблемы. Из-за использования аннотации DataJpaTest - Spring автоматически работает только с h2. У меня есть application.properties в котором я пытался использовать mySql. Но спринг бут всёравно грузит только свою. Нашел аннотацию чтоб изменить БД, но она каким-то образом не работает @AutoConfigureTestDatabase(replace=Replace.NONE)
Я уже смерился, что не смогу использовать mySql для тестов. Еще это наверно плохая идея использовать встроенную БД для тестов? Но не смотря на это, я хочу указать кое-какие конфиги в application.properties уже для h2. Но спринг их не грузит, даже создал профили и всё-равно 0 эффекта.
Как использую профили: в тесте @ActiveProfiles("test")
В application.properties даже хардкожу для тестов spring.profiles.active: test
Ну и сами проперти для h2 в файле application-test.properties