1.什么是Mock?

Mock一词是指模仿或者效仿,用于创建实例和静态模拟、安排和验证行为。在软件开发中提及"mock",通常理解为模拟对象。模拟对象的概念就是我们想要创建一个可以替代实际对象的对象,这个模拟对象要可以通过特定参数调用特定的方法,并且能返回预期结果。模拟时,你只需关心三样东西:设置测试数据、设定预期结果、验证结果。

我们看以下两幅图片:

由于A对B
C存在依赖关系,我们想在不涉及依赖关系的情况下测试A,即我们认为BC无错误且B返回的数据是正确的,在这一条件下对A的后续逻辑操作进行测试。

这时,Mock就可以模拟B或者C给A返回预期的值,而不是正真去运行B或者C里面的代码。 mock对象就是在调试期间用来作为真实对象的替代品。mock测试就是在测试过程中,对那些不容易构建的对象用一个虚拟对象来代替测试的方法就叫mock测试。同时根据情况选择返回后续逻辑操作所需的返回值。

2.如何使用?

安装JustMock

  1. www.telerik.com下载JustMock安装程序:

    • 这里下载试用安装程序文件。
  2. 运行安装程序并按照步骤操作。配置默认安装文件夹。

3.一路都是下一步直到安装完成。

添加JustMock的引用

要开始在测试项目中使用JustMock,添加对Telerik.JustMock.dll(或Telerik.JustMock.Silverlight.dll,如果您在Silverlight项目中使用它)的引用。该程序集位于Libraries文件夹下的安装目录下(默认为C:\
Program Files(x86)\ Progress \ Telerik JustMock \ Libraries)。或者,使用Visual
Studio扩展

在visual中开启justmock

在vs的菜单栏中会多出justmock选项,点击后选择enable。

在下一篇文章中,我们将会讲到如何使用JustMock。

欢迎查看我的下一篇文章

JustMock .NET单元测试利器(二)

JustMock .NET单元测试利器(一)的更多相关文章

  1. JustMock .NET单元测试利器(二)JustMock基础

    JustMock API基础 Mock是Telerik®JustMock框架中的主要类.Mock用于创建实例和静态模拟,安排和验证行为. 本文将介绍 "Mock"的基本用法: 首先 ...

  2. JustMock .NET单元测试利器(三)用JustMock测试你的应用程序

    用JustMock测试你的应用程序 本主题将指导您通过几个简单的步骤来使用Telerik®JustMock轻松测试您的应用程序.您将理解一个简单的原理,称为Arrange / Act / Assert ...

  3. PHP单元测试利器:PHPUNIT初探

    开始动手安装phpunit 本文中将通过介绍php中的单元测试利器phpunit(http://phpunit.de/),并通过实际例子来讲解如何在实际工作中运用phpunit.首先安装phpunit ...

  4. 单元测试利器JUnit4

    引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...

  5. 单元测试利器 JUnit 4

    引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...

  6. [转]单元测试利器 JUnit 4

    引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...

  7. 单元测试利器Mockito框架

    什么是Mock Mock 的中文译为仿制的,模拟的,虚假的.对于测试框架来说,即构造出一个模拟/虚假的对象,使我们的测试能顺利进行下去. Mock 测试就是在测试过程中,对于某些 不容易构造(如 Ht ...

  8. 单元测试系列:Mock工具之Mockito实战

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6780719.html 在实际项目中写单 ...

  9. 单元测试系列之五:Mock工具之Mockito实战

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6780719.html 在实际项目中写单 ...

随机推荐

  1. HDU [1529] || POJ [P1275] Cashier Employment

    经典的差分约束+二分答案. 本题的难点在于如何建图. 设x[i] 表示第i个小时可以开始工作的有多少个人. num[i] 表示第i个小时最少需雇佣多少人. s[i] 表示1...i小时实际开始工作的有 ...

  2. 自用lca模板

    人丑常数大,总是卡在1000多ms... #include <cstdio> #include <cstring> #include <iostream> #def ...

  3. Uva 11077 Find the Permutations [置换群 DP]

    题意: 给定$n$和$k$,问有多少排列交换$k$次能变成升序 $n \le 21$ $uva$貌似挂掉了$vjudge$上一直排队 从某个排列到$1,2,...,n$和从$1,2,...,n$到某个 ...

  4. zabbix_server 挂了原因及解决方法(内存溢出)

    14721:20170714:095330.028 [file:dbconfig.c,line:452] zbx_mem_malloc(): out of memory (requested 80 b ...

  5. ConcurrentHashMap源码分析(一)

    本篇博客的目录: 前言 一:ConcurrentHashMap简介 二:ConcurrentHashMap的内部实现 三:总结 前言:HashMap很多人都熟悉吧,它是我们平时编程中高频率出现的一种集 ...

  6. MySQL开启binlog并且保存7天有效数据

    开启binlog日志(在[mysqld]下修改或添加如下配置): server-id=1 log-bin=mysql-bin binlog_format=MIXED binlog日志模式 Mysql复 ...

  7. [Codeforces]817F. MEX Queries 离散化+线段树维护

    [Codeforces]817F. MEX Queries You are given a set of integer numbers, initially it is empty. You sho ...

  8. 解决CXF的java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf-extension-soap.xml] cannot be opened because it does not exist

    以下是错误信息 九月 25, 2017 8:22:04 下午 org.springframework.web.context.support.XmlWebApplicationContext prep ...

  9. session垃圾回收机制

    主要有以下三个参数 session.gc_maxlifetime:session生命周期 session.gc-devisor:启动session回收机制频率的被除数(分母) session.gc_p ...

  10. Android App 压力测试方法(Monkey)

    一.为什么要开展压力测试 a.提高产品的稳定性:b.提高产品的留存率 二.什么时候开展压力测试 a.首轮功能测试通过后:b.下班后的夜间进行 三.7个基础知识(理论部分) 3.1 手动测试场景与自动测 ...