SpringBootTest 正在连接数据库
SpringBootTest is connecting to database
我有一个测试 spring 应用程序的一部分。
它正在使用 SpringRunner
和注释 @SpringBootTest
所以它正在启动一个完整的 spring 服务器。
问题是测试正在由无法访问数据库的服务器执行,所以我收到很多连接超时,这会减慢测试速度。
连接问题本身并不是真正的问题,因为测试是在模拟对数据库的调用,因此它们不依赖于存在的连接。只是测试很慢(而且很丑)。
所以测试看起来有点像这样:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class DispatcherTest
它使用这个 属性 文件
spring.datasource.url:jdbc:oracle:thin:@100.32.13.32:1521:TEST
spring.datasource.username:sa
spring.datasource.password:password
spring.datasource.driver-class-name:oracle.jdbc.OracleDriver
spring.jpa.database-platform:org.hibernate.dialect.Oracle10gDialect
我认为问题在于像这样扫描了很多不同的 JPA 存储库
@EnableJpaRepositories("package.*")
那么有没有什么奇特的方法告诉 spring 不要连接到数据库,或者我是否必须模拟每个 JPA 存储库 class?
我有一个测试 spring 应用程序的一部分。
它正在使用 SpringRunner
和注释 @SpringBootTest
所以它正在启动一个完整的 spring 服务器。
问题是测试正在由无法访问数据库的服务器执行,所以我收到很多连接超时,这会减慢测试速度。
连接问题本身并不是真正的问题,因为测试是在模拟对数据库的调用,因此它们不依赖于存在的连接。只是测试很慢(而且很丑)。
所以测试看起来有点像这样:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class DispatcherTest
它使用这个 属性 文件
spring.datasource.url:jdbc:oracle:thin:@100.32.13.32:1521:TEST
spring.datasource.username:sa
spring.datasource.password:password
spring.datasource.driver-class-name:oracle.jdbc.OracleDriver
spring.jpa.database-platform:org.hibernate.dialect.Oracle10gDialect
我认为问题在于像这样扫描了很多不同的 JPA 存储库
@EnableJpaRepositories("package.*")
那么有没有什么奇特的方法告诉 spring 不要连接到数据库,或者我是否必须模拟每个 JPA 存储库 class?