簡體   English   中英

您可以在 Autoconfigured Spring Boot H2 測試數據庫上設置兼容模式嗎?

[英]Can you set the compatibility mode on the Autoconfigured Spring Boot H2 test DB?

有沒有辦法為 H2 數據庫配置 H2 兼容模式,Spring Boot 可以自動配置以替換您的常規數據庫而無需替換它?

有記錄禁用自動配置測試數據庫替換的方法: https://stackoverflow.com/a/43557541/141042

我不介意做這樣的事情,但大多數替代方案都有其他復雜性:

  • 如果您在測試類路徑中添加application.properties ,它將在測試運行期間替換您的主application.properties ,因此您將無法維護兩個文件(例如https://github.com/spring-projects/spring-boot/問題/10271
  • 如果您為測試運行設置了配置文件,那么您必須確保任何需要測試數據庫的測試都標有配置文件

有沒有更好的方法來做到這一點? 我喜歡 Spring 引導自動配置測試數據庫的簡單性,但似乎我現在必須強制它進入 MySQL 兼容模式才能繼續使用我現有的遷移。

有沒有:

  1. 當 spring 自動配置測試數據庫而不禁用該機制時,一種配置 h2 兼容模式的方法?
  2. 一種為所有測試指定 jdbc url 的方法,而無需修改每個測試(例如包含配置文件)或維護兩個應用程序屬性文件(例如src/test/resources中的新application.properties

沒有選項可以為 Spring Boot 在您的測試中替換的嵌入式數據源設置自定義 URL。 我們提供了一種方法來指定您想要的連接類型,但不包括 URL 本身。 我不知道我們可以添加它有多容易,但至少值得一看,我已經創建了問題 #19038

至於指定 URL,由於您提到的原因,您不應該在測試類路徑中添加application.properties 您引用的 SO 線程已經有一個引用application-test.properties的答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM