gpt4 book ai didi

unit-testing - 何时执行我的单元测试以及为什么使用 Moq

转载 作者:行者123 更新时间:2023-11-28 21:12:47 25 4
gpt4 key购买 nike

Q1:什么时候运行单元测试最理想?每次我去调试应用程序之前都应该运行它吗?在我提交对 svn 的更改之前是否应该运行它们?我认为如果一个应用程序只有几个单元测试,它应该在每次应用程序即将调试时运行。但是假设我们有数百个单元测试可能需要一些时间才能完成,不确定这是否理想。我认为最好在提交或部署之前运行它们。

问题 2: 在我的应用程序中,我使用带有服务层的存储库模式。我已经研究了当服务调用存储库并且存储库正在查询数据库时如何测试服务。因此,为了使其成为真正的单元测试而不是集成测试,我必须找到一种在不接触数据库的情况下进行测试的方法。我发现人们正在使用 Moq 来模拟他们的存储库。这是我遇到问题的地方,对我来说,如果我模拟一个存储库,那么我正在改变该方法应该如何工作的行为,对我来说似乎是一个毫无意义的单元测试。看来您实际上并没有在测试您的 代码。我对此完全错了吗?感谢您的任何建议。

最佳答案

让我拍一张。

A1:当您重构现有代码时,您应该执行相应的单元测试(不是全部)并查看您的更改是否破坏了任何内容。对于新功能,您应该使用 TDD 并行实现新的单元测试。您永远不应该自己执行所有单元测试,而应该使用或依赖持续集成。

A2:我和你有同样的看法。但是现在,我确信需要对服务层进行单元测试。应该涵盖使用单元测试可以涵盖的任何内容。在这一点上,您的服务的核心可能只是对存储库的委托(delegate),但服务在不断发展。这些服务负责参数验证、授权、日志记录、交易、批处理支持 API 等。然后,它不仅是数据访问,还有更多事情。如果我处在你的位置,我会通过模拟存储库来对服务进行单元测试。有时,服务会在存储库之上提供方便的方法。

希望对您有所帮助。

关于unit-testing - 何时执行我的单元测试以及为什么使用 Moq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17347558/

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