Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee 使用spring在junit中查找Jndi_Jakarta Ee - Fatal编程技术网

Jakarta ee 使用spring在junit中查找Jndi

Jakarta ee 使用spring在junit中查找Jndi,jakarta-ee,Jakarta Ee,如何在junit测试类中查找Jndi名称?我不想为junit使用单独的配置文件,不提供数据源属性?我特别需要在我的测试类中进行jndi查找。如果您使用JBoss,那么应该使用minicontainer。它从main(作为J2SE应用程序)引导stap应用程序服务器。好吧,这个问题没有“标准”解决方案 另一种方法可以是仅为JUnit测试建立专用服务器,在J2SE环境中手动配置JNDI环境(希望您能够找到如何使用应用服务器实现这一点),然后连接到远程服务器。这里引用了Spring官方文档: org.

如何在junit测试类中查找Jndi名称?我不想为junit使用单独的配置文件,不提供数据源属性?我特别需要在我的测试类中进行jndi查找。

如果您使用JBoss,那么应该使用minicontainer。它从main(作为J2SE应用程序)引导stap应用程序服务器。好吧,这个问题没有“标准”解决方案


另一种方法可以是仅为JUnit测试建立专用服务器,在J2SE环境中手动配置JNDI环境(希望您能够找到如何使用应用服务器实现这一点),然后连接到远程服务器。

这里引用了Spring官方文档:

org.springframework.mock.jndi包包含jndi SPI的实现,您可以使用它为测试套件或独立应用程序设置简单的jndi环境

在此文档中,我使用了Spring上下文配置类,该类声明了一个数据源:

@Configuration
public class JndiDataConfig {
    @Bean
    public DataSource dataSource() throws Exception {
        Context ctx = new InitialContext();
        return (DataSource) ctx.lookup("java:comp/env/jdbc/datasource");
    }
}

如果您喜欢在特殊环境(如应用程序容器)之外测试类,那么可以使用简单的JNDI。它为您创建JNDI环境,并将属性文件中的值绑定到该环境。因此,如果将一些配置参数定义为环境对象,则可以模拟应用程序容器的环境。它还可以为您初始化数据源或连接池,并将其绑定到JNDI上下文,以便您的测试代码可以像往常一样访问它们。有关更多信息,请参阅