Можно ли установить Spring @DataJpaTest
, который использует жидкостную базу с временным MySQL (поэтому мы можем использовать MySQL Speci c функции и синтаксис).
Я думал чтобы сделать это, мне пришлось бы использовать testcontainers для создания временного MySQL экземпляра для теста и каким-то образом настроить DataJpaTest для использования встроенного.
@RunWith(SpringRunner.class)
@ContextConfiguration(
classes = {
BlankJpaTest.class
}
)
@EnableJpaRepositories(
basePackageClasses = {
Organizations.class
}
)
@EntityScan(
basePackageClasses = {
Organization.class
}
)
@DataJpaTest(
properties = {
"spring.datasource.url=jdbc:tc:mysql:5.6.23:///databasename"
}
)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
public class BlankJpaTest {
@Rule
public MySQLContainer mysql = new MySQLContainer();
@Autowired
private EntityManager entityManager;
@Test
public void test() {
}
}
Однако я получаю следующее
***************************
APPLICATION FAILED TO START
***************************
Description:
A component required a bean named 'entityManagerFactory' that could not be found.