c#-4.0 - 如何模拟 MongoDB 对象来测试我的数据模型?

标签 c#-4.0 mongodb moq mongodb-.net-driver

我正在使用以下逻辑 (MOQ) 来尝试模拟 MongoDB csharp 驱动程序对象:

var svr = new Mock<MongoServer>(new MongoServerSettings());
var db = new Mock<MongoDatabase>(svr.Object, new MongoDatabaseSettings("hf_test", 
new MongoCredentials("hf_test", "hf_pass"), GuidRepresentation.Standard,
                                                 SafeMode.False, false));

当我调用 db.Object 时,MOQ 尝试创建我的模拟 MongoDatabase 的实例,但它失败并出现空引用异常。

注意:我正在考虑制作一个 IMongoCollection 接口(interface),并将 MongoCollection 包装在它的一个实例中。然后,我可以简单地模拟一下……但这似乎是一大堆不必要的工作。

最佳答案

我最终创建了自己的接口(interface),这些接口(interface)基本上是 Mongo 对象之上的浅包装。我可以模拟这些接口(interface),并至少测试我的 DAL 查询中是否存在正确的索引和过滤器。

关于c#-4.0 - 如何模拟 MongoDB 对象来测试我的数据模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6903532/

相关文章:

c# - User.Identity.Name 被模拟后返回 null

c# - Moq 对象总是返回 null ,为什么?

c# - 使用 Ninject 时如何模拟通用 Get 方法并使用 SetUp 方法填充模拟数据库?

asp.net-mvc - 如何强制 Lazy<T> 对象创建/重新创建值?

debugging - 减少托管程序的小型转储的大小,同时保留一些堆信息?

javascript - NodeJS MongoDB 动态查询

python - 相关请求 MySQL,类似 MongoDB

wpf - Schedular.Dispatcher 在哪里?

c# - 根据计数从字典列表中选择一个字典

spring - 如何从 spring-data mongodb 扩展 SimpleMongoRepository?