具有以下代码:
@SpringBootTest(classes = UiApplication.class)
class CleanTestData {
@Autowired DataPopulation dataPopulation;
List<String> branches = Arrays.asList("master","f1", "f2");
@Test
void cleanData() {
for (String branch : branches){
dataPopulation.removeAllTestData();
}
}
}
@Component
@Slf4j
public class DataPopulation {
private JdbcTemplate jdbcTemplate;
@Autowired
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void removeAllTestData() {
jdbcTemplate.update("delete from myaccounts")
}
}
application.properties
spring.datasource.url=jdbc:postgresql://8.8.8.8:7320/${branch}
每个分支都有自己的数据库。
在cleandata()测试运行期间,它需要重新连接到特定的数据库。
文件夹:
application.properties-Spring配置
datapopulation—用于连接到数据库并执行某些查询的类
cleantestdata-test,它为每个分支调用干净的测试数据。
我需要解决以下挑战:
当cleandata()测试运行时,如何将分支名称传递给spring.datasource.url?
也许,我可以把分支的变量作为系统环境变量,每次都重写它。
如何使用更新的配置重新连接jdbctemplate?
暂无答案!
目前还没有任何答案,快来回答吧!