![](/img/trans.png)
[英]Spring Boot Profiles - have an sql-script run instead of ddl-auto
[英]Is there any way to use Spring Boot, Liquibase and an sql-script for integration tests?
我使用liquibase來設置我的數據庫模式。 我禁用hibernate來創建任何東西。 因此,我的import.sql被忽略。 在liquibase創建表之后,有沒有辦法配置spring boot或liquibase或任何其他部分來加載測試數據?
如果您需要粗略的東西(即,不是實際的數據遷移),您可以在Spring Boot中使用Spring的JDBC初始化程序 。 簡而言之,您需要:
data-test.sql
來加載數據,並將其放在src/main/resources
目錄中。 對於不同的環境,只需使用命名約定data-{platform}.sql
applications-test.properties
添加到src/main/resources
: spring.datasource.platform=test # this actives data-test.sql above spring.datasource.continueOnError=???? # depends on your needs
spring.datasource.platform=test # this actives data-test.sql above spring.datasource.continueOnError=???? # depends on your needs
application-test.properties
,請確保“test”是集成測試期間處於活動狀態的配置文件之一。 一種方法是使用@ActiveProfiles({"test", ...})
注釋您的測試類。 最簡單的方法似乎是使用liquibase加載數據。 您可以使用普通的Changeset(XML或JSON)或SQL格式的Changeset來完成此操作 。 最常見的方法是加載CSV數據或運行現有的SQL文件 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.