我使用NHibernate作为我的ORM,for unit testing purpose I am using sqlite作为替代数据库。
为了进行有意义的单元测试,我需要填充表格。如何在NHibernate中做到这一点?即使我的单元测试数据库是sqlite,我更喜欢允许我这样做的db独立脚本。
Nhibernate是否支持这种开箱即用?或者我不得不求助于使用NHibernate Save
方法进行插入?
P / S:部分ORM或其他语言的框架(例如Symfony中的PHP),supports this via yml。
答案 0 :(得分:1)
AFAIK NHib没有为您提供批量导入选项...您需要以某种方式创建一些实体,然后在它们上调用ISession.Save。如果沿着这条路走下去,我建议您考虑Test Data Builder pattern。
您可以将某些对象序列化为XML,然后您需要反序列化并保存以设置数据,但我怀疑XML维护是否繁琐。
答案 1 :(得分:1)
看看Stephen Bohlen撰写的this blog post by ScotMuc和Autumn of Agile系列。这些应该指向正确的方向
答案 2 :(得分:0)
我不知道有任何工具可以帮到你,但它会很好。
您使用save方法的想法应该有效,并且它将与您的应用程序的其余部分一样独立于数据库。
我有一个控制台应用程序,它几乎可以做到这一点,因此我可以将初始数据加载到数据库中,以便我的主应用程序正常运行。