2010-10-27 39 views
1

对于我创建的每个实体,我编写一个单元测试,从数据库中加载一条记录来查看查询是否正常工作,并且可以正确地在实体上设置数据。您可以将其视为基本映射的单元测试。这也应该确认该类型存在映射文件,并将其设置为嵌入式资源。为什么session.CreateCriteria(typeof(...))对于未映射类型失败?

测试看起来像这样(测试驻留在通用基础类):

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

我不做任何声明,我只是想看看这条线工作没有抛出异常。

现在有一种情况我忘了将映射文件设置为嵌入式资源,但测试仍然有效。但是没有查询发送到数据库,所以它基本上什么都不做。

为什么CreateCriteria()或List()失败的未映射类型?我该如何测试该特定要求?

编辑:如果发现以下行不会抛出异常,但还是想了解一下第一种情况

session.CreateCriteria(typeof(TEntity)).SetMaxResults(1).Future<TEntity>().ToArray() 

回答

2

我不知道,但显然在NHibernate的,他们也不知道。有关在此问题上报告的错误,请参阅https://nhibernate.jira.com/browse/NH-2183。他们仍在努力。

+0

看起来像,谢谢。我将使用“替代”... – Koen 2010-10-27 14:12:18

相关问题