Java JUnit servlet使用数据源的jndi查找进行测试
如何对使用jndi查找数据源JDBC的servlet进行单元测试?通过手动创建数据源,在@Before或@BeforeClass方法中设置jndi上下文Java JUnit servlet使用数据源的jndi查找进行测试,java,unit-testing,servlets,jdbc,jndi,Java,Unit Testing,Servlets,Jdbc,Jndi,如何对使用jndi查找数据源JDBC的servlet进行单元测试?通过手动创建数据源,在@Before或@BeforeClass方法中设置jndi上下文 答案只是指导性的,但我不能提供任何具体的内容,因为您没有提供任何具体的内容通过手动创建数据源,在@Before或@BeforeClass方法中设置JNDI上下文 答案只是指导性的,但我不能提供任何具体的内容,因为您没有提供任何具体的内容。如果问题是您需要JNDI,那么有一个简单的独立实现,可以在应用程序和单元测试场景中使用 如果问题是您需要JN
答案只是指导性的,但我不能提供任何具体的内容,因为您没有提供任何具体的内容通过手动创建数据源,在@Before或@BeforeClass方法中设置JNDI上下文
答案只是指导性的,但我不能提供任何具体的内容,因为您没有提供任何具体的内容。如果问题是您需要JNDI,那么有一个简单的独立实现,可以在应用程序和单元测试场景中使用 如果问题是您需要JNDI,那么有一个简单的独立实现,可以在应用程序和单元测试场景中使用 我在before类方法中运行以下代码
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
commons-daemon.jar
我希望这能帮助您我在before类方法中运行以下代码
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
commons-daemon.jar
我希望这能帮助你你救了我,这就是我需要对soap服务器的方法进行单元测试的地方。在我的例子中使用postgres给出如下内容:`import org.postgresql.ds.pgpoolingdasource;//。。。PGPOOLAGDATASOURCE ds=新的PGPOOLAGDATASOURCE;ds.setDataSourceName。。。;设置服务器名称。。。;ds.setDatabaseName。。。;设置用户。。。;设置密码。。。;ds.setMaxConnections10;ic.bind…,ds`你救了我,这就是我需要对soap服务器的方法进行单元测试的地方。在我的例子中使用postgres给出如下内容:`import org.postgresql.ds.pgpoolingdasource;//。。。PGPOOLAGDATASOURCE ds=新的PGPOOLAGDATASOURCE;ds.setDataSourceName。。。;设置服务器名称。。。;ds.setDatabaseName。。。;设置用户。。。;设置密码。。。;ds.setMaxConnections10;ic.bind…,ds`