Я использую приведенную ниже зависимость (в gradle) в моем проекте весенней загрузки, чтобы заставить его работать с mysql
compile("org.springframework.boot:spring-boot-starter-data-jpa:${springBootCloudVersion}")
И предоставили параметр источника данных в моем файле application.properties ниже: -
spring.datasource.url=jdbc:mysql://127.0.0.1/test?zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
и работает нормально.
При выполнении тестовых случаев в Spring Boot,
Я хочу пропустить создание соединения с базой данных с помощью mysql, поскольку я ничего не получаю из базы данных, вместо этого я имитировал (используя mockito), и это правильный путь.
Я выполнил поиск в google и stackoverflow, и мне не удалось найти решение о том, "как я могу пропустить создание соединения с базой данных при выполнении тестовых случаев".
Может кто-нибудь помочь мне об этом или руководство
Мой тестовый файл: -
package com.myproject.utility.services.impl;
@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("test")
public class UserServicesImplTest {
private static final String MOBILE = "123456";
@MockBean
private UserRepository userRepository;
@Autowired
private UserService userService;
@Test
public void verify(){
when(userRepository.findAll().thenReturn(Optional.empty());
userService.verifyDetails(MOBILE);
}
}