【发布时间】:2022-01-13 12:34:14
【问题描述】:
我已经构建了一个 Spring Boot 应用程序。我们正在使用 flyway 来管理我们的数据库迁移。每当我为我的应用程序启动 maven 构建时,它基本上都会尝试与数据库建立连接并失败。我正在尝试禁用此“连接到数据库”步骤。
下面是我尝试过的解决方案:
- 我创建了一个名为
test的单独配置文件,并且我已禁用飞行路径,如下所示:
spring:
application:
name: ${APP_NAME:some-application}
version:
current: ${APP_CURRENT_VERSION:v2}
env:
APP_LOGGING_LEVEL: ${APP_LOGGING_LEVEL:INFO}
flyway:
enabled: false
datasource:
driver: ${RDS_DRIVER:com.mysql.jdbc.Driver}
url: // some FB url
username: // some DB username
password: // some DB password
...
...
...
- 我已使用
@ActiveProfiles("test")将test的配置文件分配给所有单元测试文件,如下所示:
@SpringBootTest
@RunWith(SpringRunner.class)
@DirtiesContext
@AutoConfigureWebTestClient
@Slf4j
@ActiveProfiles("test")
class RefreshExternalCacheTest {
@Autowired
private RedisAdapter redisAdapter;
...
...
...
}
即使通过 application-test.yml 文件禁用它并将此配置文件应用于所有单元测试文件,它仍在尝试建立与 DB 的连接。当我们通过 Jenkins 运行构建时,这会导致单元测试失败。
有没有办法在运行单元测试时禁用此设置?
【问题讨论】:
标签: spring-boot jenkins