c# - 模拟 ISession.Query<T>() 以测试消费者

标签 c# nhibernate testing

我试图避免使用内存数据库进行测试(尽管如果以下情况不可能,我可能不得不这样做)。我在 LINQ 中使用 NHibernate 3.0。我希望能够模拟 session.Query<T>()返回一些虚拟值,但我不能,因为它是一种扩展方法,而且这些几乎无法测试。

有没有人对使用 LINQ 测试 session 查询有任何建议(除了使用内存数据库)?

最佳答案

我之前在 NH 的早期版本中尝试过这个,但运气不佳。我最终使用另一个类来包装查询并改为模拟它。

我确实认为针对真实的 sql server 编写集成测试也值得,以确保存储库按预期运行。

关于c# - 模拟 ISession.Query<T>() 以测试消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4695751/

相关文章:

c# - 如何对 EF 中的多个条目进行显式加载?

c# - 将依赖项注入(inject)类库中的 AuthorizeAttribute

ruby-on-rails - 如何找到导致 rake 测试任务终止的文件/测试?

nhibernate - 提交事务时获取多个查询,为什么?

python - 与用户定义的异常相比,内置异常的处理频率如何?

android - 使用自定义 InstrumentationTestRunner 添加 Android JUnit 测试

c# - 适用于特定环境(非部署)的 Windows Azure WADPerformanceCounters

c# - AesCryptoServiceProvider GenerateIV() 的字节长度是多少?

c# - Windows Service增加CPU消耗

c# - 使用方法在 LINQ 中投影嵌套 DTO