什么是对象模拟以及何时需要它?

许多人在创建设备检查时都使用模拟对象。 什么是 模拟对象 ? 为什么我以前肯定会要求一个? 我需要Mock对象框架吗?

0
2019-05-13 03:54:14
资源 分享
答案: 8

它允许您检查任务的一个组件如何与其余组件连接,而不构建整个点,也可能错过重要部分。

编辑:来自维基百科的优秀实例:它允许您提前检查代码,就像汽车开发人员利用崩溃检查虚拟来检查整个崩溃期间汽车的动作。

0
2019-05-17 15:33:29
资源

对象模拟是一种通过数字方法从用户界面,抽象类或类创建“数字”或缓存对象的方法。 它允许您在自己的定义中为测试目标键入封面。 它用于制作一个依赖于特定代码的对象阻碍您的测试。

我喜欢使用的一个优选的叫做起订量,但还有其他几个像RhinoMock,还有无数的我不知道的。

0
2019-05-17 15:33:14
资源

另一种用法是它肯定允许您检查系统中尚未构建的各种其他组件。 作为一个例子,如果你的类依赖于其他一些类,这些类成为其他人正在使用的属性的一部分,你可以简单地请求一个主要的完整用户界面,编程到用户界面,并简单地模拟你的信息期待它们发挥作用。 在此之后,请确保您对用户界面的假设是正确的(无论是在创建时,还是在属性填满时)。

0
2019-05-17 15:32:03
资源

模拟对象允许您检查您正在创建的内容,以及抽象信息,例如访问源(磁盘,网络解决方案等)。 之后的模拟允许你相信是外部来源,或类或其他什么。

您实际上并不需要模拟对象结构,只需在您的检查中扩展您不打算使用的功能类,并且还要确保您正在测试的类可以利用您的模拟而不是实际点(通过它)使用竖立器或安装器或其他东西。

当嘲笑很方便时,技术肯定会显示出来。

编辑:模拟源是特别重要的,所以你不需要在整个考试过程中依赖它们,你也可以模拟它们如何存在的信息以及它们的反应(例如模仿FileNotFoundException,或者是一个web服务,错过了,或网络服务的许多可行的返回值)......所有这些都没有缓慢移动的可访问性时间(模拟肯定会比在检查中访问这些源更快地确认)。

0
2019-05-17 15:29:58
资源

我需要Mock对象框架吗?

绝对不。 偶尔,手工制作模拟可能相当费力。 但对于直截了当的观点,它是可以容忍的。 使用最后的责任时刻的概念来模拟结构,当你自己确认了那只手时,你需要从手工创建的模拟切换到结构 - 创建模拟是一个额外的问题。

如果你只是简单地进行嘲弄,那么向右跳跃到一个结构中可能至少会使你的理解轮廓加倍(你可以加倍轮廓吗?)。 模拟结构肯定会 很多 当你投入一些手工制作模拟的任务时,你会有更多的感觉。

0
2019-05-17 15:15:06
资源

是否一个模拟结构服务部分取决于您正在创建的代码的语言。 使用固定语言,您需要添加主动权,以便欺骗编译器批准您的模拟事物作为实际点的替代。 在动态键入的语言(如Python,Ruby或Javascript)中,您通常可以简单地将方法附加到近似对象或类上,并将其作为参数传递 - - 因此结构肯定会增加很少的值。

0
2019-05-17 15:11:00
资源

对象模拟用于保持设备检查的依赖性。 偶尔你会有像“SelectPerson”这样的考试,它肯定会从数据源中选择一个人并返回一个Person对象。

要做到这一点,通常需要依赖数据源,但是通过对象模拟,您可以模拟与模拟结构的数据源的通信,因此它可以返回类似于从数据源返回的数据集以及您之后可以检查您的代码以确保它将数据集转换为单个对象,而不是利用它来检查是否存在指向数据源的链接。

0
2019-05-17 14:52:42
资源

实际上有几个人已经解决了“什么”,但下面是我可以考虑的一些快速'为什么':

  1. 性能

    因为设备检查需要快速,测试连接网络,数据源或其他各种时间的部件 - 如果使用模拟的东西完成,则不需要支付罚款。 财政储蓄迅速增加。

  2. 合作

    如果您正在创建一个完全被包围的代码项,需要与其他人连接是代码(尚未创建,或者仍然以相同的方式创建 - 通常情况下),您可以使用模拟执行代码事情一发。 实际上已经设置了用户界面。 否则你的代码可能不会开始。 检查,直到其他各个部分结束。

0
2019-05-17 14:49:42
资源