Pergunta

Para cada entidade que eu crio, escrevo um teste de unidade que carregue apenas um registro do banco de dados para ver se a consulta funciona e os dados podem ser definidos na entidade corretamente. Você pode ver isso como um teste de unidade para o mapeamento básico. Isso também deve confirmar que existe um arquivo de mapeamento para o tipo e é definido como recurso incorporado.

O teste se parece com este (o teste reside na classe base genérica):

session.CreateCriteria(typeof(TEntity)).SetMaxResults(1).List();

Não faço nenhuma afirmação, só quero ver se essa linha funciona sem jogar exceções.

Agora, em um caso, esqueci de definir o arquivo de mapeamento como recurso incorporado, mas o teste ainda funcionou. No entanto, nenhuma consulta foi enviada ao banco de dados, por isso basicamente não fez nada.

Por que o createCritereria () ou list () não falha para um tipo não mapeado? E como posso testar esse requisito específico?

EDITAR: Se descobriu que a linha a seguir joga uma exceção, mas ainda se perguntando sobre o primeiro caso

session.CreateCriteria(typeof(TEntity)).SetMaxResults(1).Future<TEntity>().ToArray()
Foi útil?

Solução

Eu não sei, mas aparentemente no Nibernate eles também não sabem. Ver https://nhibernate.jira.com/browse/nh-2183 Para um bug que foi relatado sobre esse assunto. Eles ainda estão trabalhando nisso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top