如何在junit测试类中查找jndi名称?我不想为junit使用单独的配置文件而不提供数据源属性?我特别需要在我的测试课中进行jndi查找。jndi使用弹簧在junit中查找
2
A
回答
1
如果你使用的是JBoss,你应该使用minicontainer。它从主应用程序服务器启动(作为J2SE应用程序)。 AFAIK,这个问题没有“标准”解决方案。
另一种方法是建立专门的JUnit测试服务器,在J2SE环境中手动配置您的JNDI环境(您可以,希望能想出如何使用您的应用程序服务器)并连接到远程服务器。
2
下面是来自官方的春天文档http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/testing.html#mock-objects-jndi报价:
org.springframework.mock.jndi包里有一个JNDI SPI,你可以用它来建立一个简单的JNDI环境的实现测试套件或独立应用程序。
从此doc我用它声明一个数据源Spring上下文配置类:
@Configuration
public class JndiDataConfig {
@Bean
public DataSource dataSource() throws Exception {
Context ctx = new InitialContext();
return (DataSource) ctx.lookup("java:comp/env/jdbc/datasource");
}
}
0
如果您喜欢测试一样,您可以使用简单JNDI的应用程序容器特殊的环境以外的类。它为您创建JNDI环境并将属性文件的值绑定到它。因此,如果您将某些配置参数定义为环境对象,则可以模拟应用程序容器的环境。它也可以为你初始化一个DataSource或一个连接池并将它绑定到一个JNDI上下文,这样你的代码就可以照常访问它们了。有关更多信息,请参见http://github.com/h-thurow/Simple-JNDI。
相关问题
- 1. 弹簧引导 - JNDI值查找
- 2. 测试弹簧控制器使用JUnit
- 3. 使用jndi查找数据源的JUnit Servlets测试
- 4. JUnit和弹簧配置
- 5. JUnit弹簧资源覆盖
- 6. 如何在弹簧引导中禁用jndi调试日志
- 7. jndi datasource基于弹簧的罐子
- 8. glassfish4 +弹簧JNDI名称java:comp/env的/ JDBC/
- 9. Junit弹簧初始化不起作用
- 10. 弹簧测试和junit单元测试弹簧mvc
- 11. 使用jndi和jpa以及glassfish上的弹簧
- 12. 为JNDI写Junit
- 13. javax.naming.NameNotFoundException | JNDI查找
- 14. 使用连接表弹簧数据查找查询
- 15. 使用弹簧
- 16. 使用弹簧
- 17. 使用弹簧
- 18. 使用弹簧
- 19. 使用弹簧安全与弹簧批
- 20. 测试弹簧3.0.1 JUnit测试
- 21. 默认弹簧junit回滚吗?
- 22. 弹簧和Struts2的REST - JUnit测试
- 23. JUnit测试弹簧集成配置
- 24. JUnit测试与弹簧安全
- 25. 弹簧3和JUnit 4 NullPointerException异常
- 26. 弹簧独立JUnit测试@Autowired
- 27. 弹簧查找方法注入参数
- 28. 弹簧数据与dbref的mongodb查找
- 29. ServletContextListener.contextDestroyed中的JNDI查找
- 30. 在TomEE上的JNDI查找