我發現極其稀缺的關於在Spring Boot中使用主生產數據庫和測試in-mem數據庫進行典型設置的所有信息。如何在不使用配置文件的情況下爲測試重寫Spring Boot應用程序屬性?
有沒有約定檢驗性能,在測試application.properties覆蓋那些在主顯着,而且也像application-test.properties沒有回退機制 - > application.properties。我不想使用配置文件,因爲我希望他們嚴格定義環境,這是另一個維度(本地,生產),而且我需要笛卡爾產品主要本地,測試本地,主要生產,測試-production ..
所以我會讓Spring爲我做魔術,因此我在我的RepositoryTest上設置了@DataJpaTest註解。 Spring肯定會創建H2 db,但我沒有找到設置自定義模式或啓用H2控制檯的方法,因爲application.properties被忽略。
它是如何處理這個最標準的方法?
P.S.我認爲簡單的方法是通過@SpringBootTest(properties = { "h2.console.enabled: true", "h2.console.path: /myconsole" })
覆蓋我的測試中的屬性,但是我無法找到@DataJpaTest綁定它們的方法
H2控制檯需要一個在DataJpaTest中不可用的Web環境。爲什麼要在短暫的內存數據庫中設置自定義模式? –
爲了方便調試所有數據庫的工作 – Whimusical
在春天註冊bean的傳統方式是調用org.h2.server,我不知道爲什麼要配置webenv,我從不需要它在預啓動彈簧 – Whimusical