我目前正在一个项目中使用NHibernate,并且正在使用NDBUnit为我的单元测试填充数据。我想做的是根据加载数据时NHibernate返回的类实例来验证NDBUnit使用的XML。
似乎我可以在类上使用反射来获取所有属性,然后在NDBUnit XML数据集中查找这些列值。我只是不确定我是在重新发明轮子,还是有更好的方法来验证我所有的NHibernate映射都是正确的?
发布于 2011-03-15 10:26:47
查看Fluent NHibernate中的PersistenceSpecification。这个类中没有任何依赖于Fluent NHibernate的东西,我以前在测试普通的老式NHibernate hbm.xml文件时也用过它。
http://wiki.fluentnhibernate.org/Persistence_specification_testing
例如,您可以像这样编写测试:
[Test]
public void CanCorrectlyMapEmployee()
{
new PersistenceSpecification<Employee>(session)
.CheckProperty(c => c.Id, 1)
.CheckProperty(c => c.FirstName, "John")
.CheckProperty(c => c.LastName, "Doe")
.VerifyTheMappings();
}强烈推荐。
https://stackoverflow.com/questions/5306557
复制相似问题