java - 使用 Simple-jndi (simple-jndi-0.18.2.jar) 调用 InitialContext() 时 Junit 测试失败

标签 java junit jndi

我正在尝试测试连接到数据库的 Web 应用程序 - 我的 Junit 代码不执行连接。

设置按照 https://github.com/h-thurow/Simple-JNDI

InitialContext() 失败

抛出许多这样的错误:

严重:路径:[路径][类].java ctxt:javax.naming.InitialContext@5e29e202 子名称: 2019 年 9 月 16 日上午 10:24:39 org.osjava.sj.loader.NioBasedJndiLoader$MySimpleFileVisitor 访问文件 严重的: javax.naming.NotContextException:rConfig已被新的RequestConfig(config,logger)占用;

这些不是 JNDI 名称。

jndi.properties 已正确放置并在运行时定位。 datasource.properties 也已设置。

正在测试的代码(即无法更改)是

cntxt = new InitialContext();
DataSource ds = (DataSource) cntxt.lookup(databaseResource);
conn = ds.getConnection();

最佳答案

看起来有两个属性,即 org.osjava.sj.root 目录中的 xml 或 ini 文件,其中包含“rConfig”条目,并且这些文件位于同一子目录中。找到的第一个文件将“new RequestConfig(config, logger)”应用于“rConfig”,例如克。

rConfig = new RequestConfig(config, logger)

也许 org.osjava.sj.root 没有指向您期望它指向的位置。

关于java - 使用 Simple-jndi (simple-jndi-0.18.2.jar) 调用 InitialContext() 时 Junit 测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57980967/

相关文章:

java - 使用 Fragment 销毁 Activity

java - 浏览器上的后退按钮不会将控制流发送到 API

java - 如何使用断言 (JUnit) 来检查 int?

java - JBoss 中的 JNDI 绑定(bind)(LiveCycle 交 key )

jakarta-ee - EJB 3.1 |通过 JNDI 调用远程 session bean 时出错

java - 我应该为每种数据库查询创建新实体吗?

java - 如何让标签更改 Java 中特定操作的显示文本?

intellij-idea - Cucumber runner 类的 Intellij IDEA 运行配置

java - 我是否应该在 java 对应方抛出异常的情况下明确地使 scala 单元测试失败

java - Springboot解密JNDI tomcat密码