我试图避免使用内存数据库进行测试(尽管如果以下情况不可能,我可能不得不这样做)。我在 LINQ 中使用 NHibernate 3.0。我希望能够模拟 session.Query<T>()
返回一些虚拟值,但我不能,因为它是一种扩展方法,而且这些几乎无法测试。
有没有人对使用 LINQ 测试 session 查询有任何建议(除了使用内存数据库)?
最佳答案
我之前在 NH 的早期版本中尝试过这个,但运气不佳。我最终使用另一个类来包装查询并改为模拟它。
我确实认为针对真实的 sql server 编写集成测试也值得,以确保存储库按预期运行。
关于c# - 模拟 ISession.Query<T>() 以测试消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4695751/