我正在使用Spring Boot應用程序並啓用自動配置。主應用程序文件標記爲@EnableAutoConfiguration
。從JNDI查找數據源是使用java config配置的,創建數據源的類標記爲@Configuration
。測試時使用數據源進行彈簧啓動
我有一個測試類如下。
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes = Application.class)
public class TestSomeBusiness {}
的問題是,當我運行測試的情況下,數據源JNDI查找發生,因爲測試用例是不是一個服務器環境中運行的失敗。據我所知,類路徑中標記爲@Configuration
的類已被執行,並且調用了數據源查找的原因。
現在我發現的工作是使用DriverManagerDataSource
而不是JNDI查找來創建數據源,因此即使它不是服務器環境,數據源查找也不會失敗。
我的問題是:
1)如何我們一般處理的數據源(從JNDI在 春季啓動應用程序查找時)進行測試?
2)在執行測試用例時,有沒有辦法排除數據源配置類被調用?
3)我應該創建一個嵌入式服務器,以便在執行測試用例時可以完成JNDI查找嗎?