使用NDBUnit验证NHibernate映射

时间:2011-03-15 01:30:30

标签: nhibernate ndbunit

我目前正在项目中使用NHibernate,并且正在使用NDBUnit为数据库填充数据以进行单元测试。我想做的是在加载数据时验证NDBUnit使用的XML对NHibernate返回的类实例。

似乎我可以在类上使用反射来获取所有属性,然后在NDBUnit XML数据集中查找这些列值。我只是不确定我是否重新发明轮子,或者是否有更好的替代方法来验证我的所有NHibernate映射是否正确?

1 个答案:

答案 0 :(得分:0)

在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();
}

强烈推荐。