unit-testing - 使用模拟是一种好的编程习惯还是只是一种不同的方式?

标签 unit-testing agile mocking

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 提供事实和引用来回答它.

4年前关闭。




Improve this question




你们会说使用模拟比不使用模拟更好吗?
模拟是仅在单元测试中使用还是可以直接在原始项目中作为真实对象使用并在之后切换?

我一直在这里和那里阅读,我发现关于模拟的最吸引人的是层隔离。

最佳答案

模拟在单元测试中绝对有用。当您想单独测试依赖于 B 的 A 时,您可以模拟 B(具有预期的输入/输出)来测试 A。确保单独测试 B 以确保它是正确的。

在动态语言中,它们并不是绝对必要的。但是模拟框架可以帮助您验证您在模拟上设置的期望是否得到满足。

你永远不应该使用模拟作为真正的实现。那种东西就是笑话。 “我们可以模拟整个应用程序!Yaaaaay!”这就是接口(interface)/等效项的用途...

关于unit-testing - 使用模拟是一种好的编程习惯还是只是一种不同的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3323406/

相关文章:

agile - 什么是面向对象的方法论?

c# - 进行单元测试时,在此示例中是否可以使用验证来间接测试方法?

java - 如何替换已弃用的@MockClass?

c# - 如何在没有 ControllerContext 的情况下从 IIdentity 模拟 GetUserId 和 IsAuthenticated

cocoa - OSX 应用程序的 TDD

jquery - 如何将 ASP.NET MVC 3 页面的 HTML 获取到 QUnit 测试中?

unit-testing - 如何使用 KotlinTest 库在测试方法中验证模拟接口(interface)?

django-nose 单元测试 celery 任务...缺少数据库数据

java - 查找软件开发 session 列表的最佳地点是哪里?

project-management - 维护用户故事和用例