Mad*_*dhu 10 spring spring-data spring-data-jpa spring-boot spring-boot-test
我正在尝试在 Spring Boot 项目中加载 application.properties 进行测试。我正在使用 @DataJpaAnnotation 以及我的自定义 application.properties 文件。
这是我的示例配置如下
@DataJpaTest
@RunWith(SpringRunner.class)
@SqlGroup({
@Sql(executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, scripts = {
"classpath:sql/dont-use-cascadeType-remove/before.sql" }),
@Sql(executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, scripts = {
"classpath:sql/dont-use-cascadeType-remove/after.sql" }) })
@TestPropertySource(locations = { "classpath:application.properties" })
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
@Slf4j
public class BookCategoryRepositoryTest {
Run Code Online (Sandbox Code Playgroud)
我能够成功执行测试用例,但是当我验证日志时,我的应用程序正在采用嵌入的 H2 Db URL,而不是我在 application.properties 文件中提到的 URL。
从我发现的日志中
embedded database: url='jdbc:h2:mem:69b49362-3f83-4e79-9f35-b0deb5e744f2;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false', username='sa'
Run Code Online (Sandbox Code Playgroud)
我的属性文件包含
spring.datasource.url=jdbc:p6spy:mem:jpa-best-practices;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=db-user
spring.datasource.password=db-password
Run Code Online (Sandbox Code Playgroud)
不知道为什么会发生这种情况,我无法找到解决方案。请帮忙。
你只需要注释你的测试
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
Run Code Online (Sandbox Code Playgroud)
据记载。
| 归档时间: |
|
| 查看次数: |
3624 次 |
| 最近记录: |