如何對使用jndi查找數據源(JDBC)的servlet進行單元測試?使用jndi查找數據源的JUnit Servlets測試
0
A
回答
1
通過手動創建數據源,在您的@Before
(或@BeforeClass
)方法中設置JNDI上下文。
(答案是唯一的指導,但我不能提供任何具體的,因爲你沒有提供任何具體的),如果問題是,你需要JNDI
0
然後有一個簡單的獨立實現可用於應用程序和單元測試場景。
2
我在before class方法中運行以下代碼。
try {
// Create initial context
System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.naming.java.javaURLContextFactory");
System.setProperty(Context.URL_PKG_PREFIXES,
"org.apache.naming");
InitialContext ic = new InitialContext();
ic.createSubcontext("java:");
ic.createSubcontext("java:/comp");
ic.createSubcontext("java:/comp/env");
ic.createSubcontext("java:/comp/env/jdbc");
// Construct DataSource
OracleConnectionPoolDataSource ds = new OracleConnectionPoolDataSource();
ds.setURL(""); // <--insert url to database here
ds.setUser("username"); //<-- self explanatory
ds.setPassword("password"); //<-- self explanatory
ic.bind("java:/comp/env/jdbc/examplename", ds); //<--insert name of binding here
} catch (NamingException ex) {
ex.printStackTrace();
} catch (SQLException ex){
ex.printStackTrace();
}
我使用Tomcat作爲我的服務器,所以我也只好引用位於在tomcat \ bin目錄中的以下JAR文件:
- Tomcat的juli.jar
- bootstrap.jar
- 公地daemon.jar
我希望這有助於你
相關問題
- 1. jndi使用彈簧在junit中查找
- 2. JNDI數據源和ApplicationModule測試程序
- 3. 我的JUnit測試如何找到我的Tomcat數據源?
- 4. 如何在Spring中運行JUnit測試注入JBOSS JNDI數據源
- 5. 在JNDI數據源中使用JUnit進行單元測試使用weblogic環境的Hibernate?
- 6. 如何使用HSQL的setup數據源進行junit測試
- 7. 使用JNDI查找在Heroku部署中配置數據源
- 8. JUnit中無法找到數據源測試
- 9. 如何用Spring測試一個模擬的JNDI數據源?
- 10. JUnit for Jboss環境的註冊表JNDI數據源
- 11. JUnit類的測試資源
- 12. 使用JUnit時可以避免重新定義JNDI數據源嗎?
- 13. 測試使用JUnit
- 14. 測試使用JUnit
- 15. Spring數據 - MongoDB - JUnit測試
- 16. Junit測試數據庫
- 17. JBoss 6數據源JNDI未找到
- 18. 如何將jndi數據源查找交換到內存數據庫以進行集成測試?
- 19. 錯誤使用JNDI查找獲取數據源鑄造T4CConnection到的OracleConnection
- 20. 使用JNDI數據源進行Spring Boot
- 21. 應該通過ServiceLocator查找數據源的jndi名稱嗎?
- 22. 測試HQL查詢上使用JUnit
- 23. mvn測試沒有找到junit測試
- 24. mvn測試未找到JUnit測試
- 25. 資源的JNDI查找失敗
- 26. 爲JNDI寫Junit
- 27. 用於測試其餘資源的Junit測試用例
- 28. JUnit測試用例 - 設置數據
- 29. 爲JUNIT測試用例指定數據
- 30. pitest找不到junit測試
你救了我,這是我單元測試soap服務器的方法所需要的。在我的情況下使用postgres給這樣的事情: 'import org.postgresql.ds.PGPoolingDataSource; // ... PGPoolingDataSource ds = new PGPoolingDataSource(); ds.setDataSourceName(「...」); ds.setServerName(「...」); ds.setDatabaseName(「...」); ds.setUser(「...」); ds.setPassword(「...」); ds.setMaxConnections(10); ic.bind(「...」,ds);' – 2013-12-07 10:12:58