У меня есть класс junit для тестирования методов моего DAO.Однако после запуска появляется эта ошибка: javax.naming.NoInitialContextException: необходимо указать имя класса в свойстве среды или системы, либо в качестве параметра апплета, либо в файле ресурсов приложения: java.naming.factory.initial.
Соединение было создано из контейнера и передало его в качестве аргумента.Что я мог сделать!
Это класс 'растянуть:
...
@Test
public void pesquisarPorIdComConexao() throws SQLException {
TabCNAEAlvaraAutomaticoDAO DAO = new TabCNAEAlvaraAutomaticoDAO();
TabCNAEAlvaAutomaticoDto dto = new TabCNAEAlvaAutomaticoDto();
Connection connection = null;
try {
connection = abrir();
connection.setAutoCommit(false);
dto = DAO.pesquisarPorId(Long.valueOf("12"), connection);
assertEquals("Método - pesquisarPorId com Conexão - Com sucesso!",dto != null,dto);
} catch (Exception ex) {
ex.printStackTrace();
fail("Falha no método pesquisarPorId com Conexão ");
} finally {
connection.close();
System.out.println("finalizei");
}
}
// ================== Métodos Auxiliares ======================
/**
* Cria uma nova Conexão.
* @return
* @throws Exception
*/
private static Connection abrir() throws Exception {
Connection conexao = null;
Class.forName(DRIVER); // Registrar o driver
conexao = DriverManager.getConnection(URL, USUARIO, SENHA); // Capturar a conexão
return conexao; // Retorna a conexao aberta
}
/**
* Popula dados para métodos de do DAO.
* @param dto
*/
private void carregaDto (TabCNAEAlvaAutomaticoDto dto){
dto.settCnpjInstRegra("05055009000113");
dto.settCodCbo("");
dto.settCodCnae("3314717");
dto.settFlagCBOCNAE("1");
dto.settStatus(1);
dto.settIdSec(Long.valueOf("12"));
}