Para poder utilizar JUnit en una clase en la cual hacemos una consulta a la base de datos y dicha consulta obtiene la conexión mediante JNDI con el datasource de JBoss 7 tenemos que enlazar ese datasource al InitialContext
. Si vas a utilizar esto para hacer la clase "test" de JUnit tienes que hacer que el método donde se enlaza el datasource con el contexto inicial se ejecute primero con la anotación @BeforeClass
. Aqui te dejo el codigo para eso:
@BeforeClass
public static void setUpClass() throws Exception {
try {
System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.naming.java.javaURLContextFactory");
System.setProperty(Context.URL_PKG_PREFIXES, "org.apache.naming");
InitialContext initialContext = new InitialContext();
initialContext.createSubcontext("java:jboss");
initialContext.createSubcontext("java:jboss/datasources");
// Reemplaza en nombre del datasource por el tuyo
initialContext
.createSubcontext("java:jboss/datasources/DataSourceDatoJava");
OracleConnectionPoolDataSource poolDataSource = new OracleConnectionPoolDataSource();
poolDataSource.setURL("jdbc:oracle:thin:@localhost:1521:");
poolDataSource.setUser("datojava");// Tu usuario
poolDataSource.setPassword("datojava"); // Tu contraseña
initialContext.rebind("java:jboss/datasources/DataSourceDatoJava",
poolDataSource);
} catch (NamingException ex) {
ex.printStackTrace();
}
}
Ya con este dato java podemos ejecutar nuestra clase test de JUnit.
Temas Relacionados:
No hay comentarios :
Publicar un comentario