我有一個 Spring Boot 應用程式,它application.mode在我的屬性檔案中定義了一個屬性。此屬性的值可以是SINGLE或MULTI。
src/main/resources/application.properties
application.mode=SINGLE
# also possible
#application.mode=MULTI
根據此屬性的值加載一些 bean 和 bonfigs。
src/main/java/com.example.SomeService.java
@Bean
@ConditionalOnExpression("'${application.mode}'.equalsIgnoreCase(\"SINGLE\")")
public class SomeService {
// some code
}
我還需要@SpringBootTest檢查背景關系是否加載以及所有 bean 是否配置正確。
src/test/java/com.example.SpringBootApplicationTest.java
@SpringBootTest
public class SpringBootApplicationTest {
@Test
public void contextLoads() {
}
}
目前我將檔案復制到application.properties檔案src/test/resources夾。我手動啟動單元測驗兩次并編輯application.mode其間的值以檢查 Spring 背景關系是否加載了這兩個值。
有沒有辦法自動運行這個單元測驗兩次并application.mode為每次運行注入不同的值?
uj5u.com熱心網友回復:
您可以像這樣覆寫某些屬性(即使沒有屬性檔案src/test/resources):
@SpringBootTest(properties = { "application.mode=SINGLE" })
class Whatevertest {
...
}
我不確定您是否可以在 1 個測驗類中測驗這兩種情況,但是創建 2 個測驗類應該可以解決問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/415648.html
標籤:
