我有一个测试正在测试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存储库类?