gpt4 book ai didi

unit-testing - C# 中的模拟和存储库/服务层

转载 作者:行者123 更新时间:2023-12-04 04:52:06 24 4
gpt4 key购买 nike

我正在尝试编写一些单元测试来测试我的服务层,我认为我做得很好,服务层作为对存储库的依赖,所以我正在使用 RhinoMocks 模拟存储库,所以我正在测试服务层“没有"访问数据库,这很棒。

现在我需要测试我的存储库层,它直接连接到数据库,所以我必须测试它不是吗?除了测试,我别无选择?

如果我测试另一个没有命中数据库的存储库实现,那么这不是测试我的实现。

我已经设法模拟出所有较低层,因此任何依赖于需要一段时间才能运行的代码的东西,即。存储库,然后我 mock 了这一点。结果是我对存储库下层的所有测试都快速完成,并且不会命中数据库。

问题是我现在如何处理存储库。我必须对其进行测试,但它依赖于 SQL 数据库。

最佳答案

嗯,一般的答案是这样的。我会编写单元测试来验证存储库层的逻辑,并在一个新类中分解 sql 依赖项并在 repo 的测试中模拟它。如果存储库层只包含一个 sql 连接并且没有逻辑,那么我认为没有什么可以进行单元测试的。那么你更适合在连接数据库的情况下进行集成测试。

关于unit-testing - C# 中的模拟和存储库/服务层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14082088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com