Criando testes JUnit para itens de banco de dados com chaves de auto gerado
Pergunta
Eu tenho uma classe com uma chave primária que é armazenado em um banco de dados. Ao criar uma nova instância da classe que pode ser obtido a partir da base de dados HSQLDB ou para itens não no banco de dados insere tudo, mas a chave primária e este é gerado automaticamente e voltou para a classe para definir o atributo id. Em seguida, tenho um método getID () para recuperar este ID.
Eu estou tentando escrever um teste JUnit que os controlos para garantir o ID gerado é o que é retornado pelo método getID () mas eu já usei 'Call identidade' consulta para obter o ID dentro do construtor e subsequentes utilizações deste retornar 0. Qual é a melhor forma de garantir o ID gerado é o mesmo que o ID retornado pelo método getID ()?
Solução
Eu realmente considerar o projeto diferente para testar as classes. Acessando um banco de dados realmente não é um teste de unidade na maioria dos casos. Se o gerador db ID funciona e tem um teste então você não deve realmente precisa para testar sua classe.
Desde que você classe pode retornar um Id então tudo o que deveria importar-se que sua classe retorna o id que foi colocado em-lo em no momento certo.