1

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

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

4

1 回答 1

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

强烈推荐。

于 2011-03-15T02:26:46.627 回答