我正在尝试做tdd,并使用mongodb作为数据库。但我不能解决嘲笑mongodb的问题。是否有能力在.NET中模拟mongodb进行单元测试?
更新
我发现很好的安慰阅读博客。你可以找到它,这里
发布于 2022-04-05 10:58:43
如果您专注于单元测试,那么遵循@casperOne的建议,在DB之上模拟一个层(使用存储库模式很容易)。但是,您可能需要集成测试来断言某一行为,然后您需要一个真正的数据库,您有两个选项:
选项1:在Docker中运行MongoDB
像C#驱动程序这样的官方包通过环境变量对一个生命实例(例如在Docker中运行)和传球 (连接字符串)进行测试。
你需要:
对于编写实际测试来说,正式的示例是一个很好的起点。只是不要忘记关闭并行测试执行(您有一个DB实例)。
选项2: Mongo2Go NuGet -在测试中启动Mongo
该社区试图减轻管理Docker实例的痛苦,并提出了Mongo2Go NuGet包,该包从包含的二进制文件(仅为Windows、Linux和MacOs的版本4.4.4)中实例化了MacOs,该包可以在测试开始时从互联网上下载最新版本。
https://stackoverflow.com/questions/12804662
复制相似问题