与spring boot的集成测试

与spring boot的集成测试,spring,testing,stored-procedures,spring-boot,spring-boot-test,Spring,Testing,Stored Procedures,Spring Boot,Spring Boot Test,我正在使用SpringBoot开发一个RESTAPI。我知道我可以使用H2之类的“测试数据库”进行所有集成测试,spring boot能够初始化sql脚本 然而,我的应用程序是通过使用旧的自制库的过程访问数据库的,我无法重构为JPA(不幸的是) 我认为我无法将数据库和过程设置为H2(因为我使用的是非标准数据库) 我的问题是:如何在这些条件下测试端点 谢谢您是否尝试使用Liquibase或Flyway设置脚本,以填充您的测试数据库并创建库所需的存储过程?@MikeWojtyna,我知道我是否丢失了

我正在使用SpringBoot开发一个RESTAPI。我知道我可以使用H2之类的“测试数据库”进行所有集成测试,spring boot能够初始化sql脚本

然而,我的应用程序是通过使用旧的自制库的过程访问数据库的,我无法重构为JPA(不幸的是)

我认为我无法将数据库和过程设置为H2(因为我使用的是非标准数据库)

我的问题是:如何在这些条件下测试端点


谢谢

您是否尝试使用Liquibase或Flyway设置脚本,以填充您的测试数据库并创建库所需的存储过程?@MikeWojtyna,我知道我是否丢失了任何东西,但我看到了两个问题:1-我需要为同一个表定义:在my.sql脚本中,另一个在liquibase xml中2-我需要两次实现相同的过程(一次用于数据库的元语言,另一次用于我的“虚拟数据库”)。整个问题是因为我使用的是一个非标准数据库,因此一些允许的语句在h2上会失败,例如,在您的情况下,与real db对话以执行集成测试是可以的。是什么阻止你在测试中启动新服务器、执行http调用和验证?@phani,是的,我同意,我可以和我的开发数据库谈谈。我只是试图避免一些问题,比如在我的应用程序中保留数据库凭据(在测试属性文件中);不影响实际数据库本身;让我的测试更快。我的意思是,这可能是一个“阴霾”。。。但我正在努力保持良好的实践,您可以使用Spring概要文件来获得特定于测试的属性。裁判: