Junit executa um methodo com JNDI - JBOSS

Olá
pessoal

Tenho duas classes java uma é o DAO e outra é ProdutoDAO nessa classe ProdutoDAO eu extendo ao DAO para obter a connection
com o banco oracle atraves de JNDI, na classe ProdutoDAO faço um select no banco oracle na tabela produtos no methodo ConsultaProdutos().

Minha pergunta é muito simples teria como JUnit executar esse methodo sem que eu faça uma applicação J2EE?

Como faria isso com Junit ou outro recurso?

Grato

========================DAO PAI COM JNDI===================

package teste.dao;

import java.sql.*;
import javax.naming.*;

import javax.sql.*;


public class DAO {

	protected Connection con = null;
	protected DataSource ds = null; 
   // public Map comandosSQL = null;
	
	public DAO() {
		try {
			//Este codigo tem que passar para um service Locator
			String jdbc = "java:/OracleDS"; 
			InitialContext ctx = new InitialContext();
			if(ctx.lookup(jdbc)!=null)
			{
				ds = (javax.sql.DataSource)ctx.lookup(jdbc);
				//con = ds.getConnection();
			}

		} catch (Exception e) {
			e.printStackTrace();
		}	
	}
	

	
	protected void recuperaConexaoPool() throws NamingException {

		try {
			
			if(ds !=null)
			{
				con = ds.getConnection();
			}			
			else
				throw new NamingException("Could not get DataSource - null");

		} catch (SQLException e) {
			System.err.println("Retornou SQLException: " + e.getMessage());
		}	
		
	}
	

}





//========================classe que extend ao DAO e seleciona os dados do banco oracle da tabela produtos=================
package teste;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.sql.*;

import teste.prodVO;




public class ProdutoDAO  extends DAO {

	/*
	 * Construtor default
	 * */
	public ProdutoDAO {
	}
	

   

   public  ArrayList ConsultaProdutos(){
		ResultSet rs = null;
 		PreparedStatement ps = null;
 		ArrayList retorno = new ArrayList();
 		String SQL = "SELECT descricao  FROM produtos  " ; 
 		try {
			super.recuperaConexaoPool();
			ps = con.prepareStatement(SQL);
			rs = ps.executeQuery();
			while(rs.next()){
				prodVO	vo = new prodVO();
				vo.setCodigo(rs.getString("username"));
				vo.setDescricao(rs.getString("location"));
  	            retorno.add(vo);
			}			
		} catch (Exception e) {
			System.err.println("Exception: " + e.getMessage());
		} finally {
			encerrar(con, ps, rs);
		}
 	  	return retorno;
 	}   
   
   
}