2012-05-04 27 views
3

有沒有一種簡單的方法來從Spring XML文件配置Unittests的JNDI環境並導出一些東西(例如數據源)?對此,有SimpleNamingContextBuilder,但這需要代碼來設置JNDI環境,並且我希望能夠將XML文件包含到@ContextConfiguration中。如何使用XML配置爲Spring創建Unittests的JNDI?

+0

您希望單元測試的不同數據源比生產不同? – blank

+0

@BedwyrHumphreys當然。但主要的一點是,在生產中,應用程序服務器設置了JNDI,但這裏是Unittest本身。 –

+0

我們使用Spring 3.1 bean配置文件來做到這一點 – blank

回答

0

我推薦使用SimpleJNDI。你可以從Maven Central得到它。

+0

這個項目不在積極發展中了。有一個GitHub克隆有bug修復和我維護的一些新功能。請參閱https://github.com/h-thurow/Simple-JNDI。 –

0

在很多情況下,你可以通過這些解決方案,避免了潛在的問題這個問題:

  • 使用Spring profiles到JNDI引用封裝到一個配置文件,使用的JUnit測試聲明的替代另一種規範。 (這裏有點煩人的是你在測試相關的配置文件中引入了測試相關的東西)
  • 在你包含在Unittests中的XML配置文件之後,另一個XML配置文件覆蓋了聲明JNDI引用的bean定義。

這些變通方法的一個優點是避免了像JNDI這樣的JVM範圍的構造,它可能意外地活得比測試長,並且不允許並行執行測試。

相關問題