首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET中的Mongodb单元测试

.NET中的Mongodb单元测试
EN

Stack Overflow用户
提问于 2012-10-09 16:44:41
回答 4查看 23.6K关注 0票数 19

我正在尝试做tdd,并使用mongodb作为数据库。但我不能解决嘲笑mongodb的问题。是否有能力在.NET中模拟mongodb进行单元测试?

更新

我发现很好的安慰阅读博客。你可以找到它,这里

EN

Stack Overflow用户

发布于 2022-04-05 10:58:43

如果您专注于单元测试,那么遵循@casperOne的建议,在DB之上模拟一个层(使用存储库模式很容易)。但是,您可能需要集成测试来断言某一行为,然后您需要一个真正的数据库,您有两个选项:

选项1:在Docker中运行MongoDB

C#驱动程序这样的官方包通过环境变量对一个生命实例(例如在Docker中运行)和传球 (连接字符串)进行测试。

你需要:

  1. 在码头上启动MongoDB引擎
  2. 创建和填充测试数据库
  3. 将xUnit/NUnit测试连接到数据库,并用于每个测试(漂洗和重复):
    1. 种子试验数据
    2. 执行可测试的活动和检查。
    3. 将数据库恢复到原始状态。

  4. 拆下码头集装箱。

对于编写实际测试来说,正式的示例是一个很好的起点。只是不要忘记关闭并行测试执行(您有一个DB实例)。

选项2: Mongo2Go NuGet -在测试中启动Mongo

该社区试图减轻管理Docker实例的痛苦,并提出了Mongo2Go NuGet包,该包从包含的二进制文件(仅为Windows、Linux和MacOs的版本4.4.4)中实例化了MacOs,该包可以在测试开始时从互联网上下载最新版本。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12804662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档