mock测试到底是什么?

?    ?经常听人说mock测试,究竟什么是mock测试呢?mock测试能解决什么问题?mock测试要如何做呢?今天为大家做简单介绍,之后会有详细的mock测试,感谢大家对测试梦工厂的持续关注。

概念

?    ?mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。

MockObject

?    ?使用Mock Object进行测试,主要是用来模拟那些在应用中不容易构造(如HttpServletRequest必须在Servlet容器中才能构造出来)或者比较复杂的对象(如JDBC中的ResultSet对象)从而使测试顺利进行的工具。

?    ?目前,在Java阵营中主要的Mock测试工具有JMock,MockCreator,Mockrunner,EasyMock,MockMaker等,在微软的.Net阵营中主要是Nmock,.NetMock等。

mock对象实例

编辑

?    ?一个闹钟根据时间来进行提醒服务,如果过了下午5点钟就播放音频文件提醒大家下班了,如果我们要利用真实的对象来测试的话就只能苦苦等到下午五点,然后把耳朵放在音箱旁,我们应该利用mock对象[1]  来进行测试,这样我们就可以模拟控制时间了,而不用苦苦等待时钟转到下午5点钟了。下面是代码:


1

2

3

4

5

6

7

8

9


public abstract class Environmental{

    boolean playedWav=false;

    public abstract  long getTime();

    public abstract  void  playWavFile(String fileName);

    public abstract  boolean  wavWasPlayed();

    public abstract  void  resetWav();

}

真实的实现代码:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16


public class SystemEnvironment extends Environmental{

    public long getTime(){

        return System.currentTimeMillis();

    }

    public void playWavFile(String  fileName){

        playedWav=true;

    }

    public boolean  wavWasPlayed(){

        return playedWav;

    }

    public void  resetWav(){

        playedWav=false;

    }

}

下面是mock对象:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18


public class MockSystemEnvironment extends Environmental{

    private long currentTime;

    public long getTime(){

        return currentTime;

    }

    public voidsetTime(long  currentTime){

        this.currentTime=currentTime;

    }

    public void playWavFile(String  fileName){

        playedWav=true;

    }

    public boolean wavWasPlayed(){

        return playedWav;

    }

    public void  resetWav(){

        playedWav=false;

    }

}



长按二维码识别关注,您的支持是我们最大的动力。

公众号:测试梦工厂

QQ一群:300897805

  

时间: 2024-10-12 13:28:49

mock测试到底是什么?的相关文章

小程聊微服务-基于dubbo的mock测试系统

一.说在前面 基于微服务或者SOA的自动化测试系统每个公司都有自己的特有的,我今天就主要介绍一下,我们研发的一套mock测试系统. 二.目前面临的问题 1.测试人员面临的测试问题 我公司目前用的是基于Dubbo的微服务改造,服务之间的调用链路冗长,每个服务又是单独的团队在维护,每个团队又在不断的演进和维护各个服务,那么对测试人员将是非常大的挑战. 测试人员每次进行功能测试的时候,测试用例每次都需要重新写一遍,无法将测试用例的数据沉淀,尤其是做自动化测试的时候,测试人员准备测试数据就需要很长时间,

mock测试框架Mockito

无论是敏捷开发.持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石.随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了.在敏捷开发.持续交付中要求单元测试一定要快(不能访问实际的文件系统或数据库),而TDD经常会碰到协同模块尚未开发的情况,而mock技术正是解决这些问题的灵丹妙药. mock技术的目的和作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与测试边界以外的对象隔离开. 我们可以自己编写自定义的Mock对象实现mock技术,但是编写自定义的Mo

Spring自带mock测试Controller

转自:http://blog.csdn.net/yin_jw/article/details/24726941 分类: Spring开源框架2014-04-29 17:01 1786人阅读 评论(2) 收藏 举报 Spring自带mock测试Contro 准备SpringMVC环境 注意:使用mock测试需要引入spring-test包 Base类:加载配置文件 [java] view plaincopy package com.wyy.snail.user.controller; import

Mock测试框架(Mockito为例)

在做单元测试的时候,有的时候用到的一些类,我们构造起来不是那么容易,比如HttpRequest,或者说某个Service依赖到了某个Dao,想构造service还得先构造dao,这些外部对象构造起来比较麻烦. 所以出现了Mock! 我们可以用 Mock 工具来模拟这些外部对象,来完成我们的单元测试. 实现Mock技术的优秀开源框架有很多,下面以Mockito为例,用几个简单例子来介绍Mock工具的基本使用: 1.Mockito的第一个示例 1 @Test 2 public void simple

Spring MVC如何测试Controller(使用springmvc mock测试)

在springmvc中一般的测试用例都是测试service层,今天我来演示下如何使用springmvc mock直接测试controller层代码. 1.什么是mock测试? mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法. 2.为什么要使用mock测试? 使用Mock Object进行测试,主要是用来模拟那些在应用中不容易构造(如HttpServletRequest必须在Servlet容器中才能构造出来)或者比较复杂的对象(如JD

java的mock测试框架

无论是敏捷开发.持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石.随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了.在敏捷开发.持续交付中要求单元测试一定要快(不能访问实际的文件系统或数据库),而TDD经常会碰到协同模块尚未开发的情况,而mock技术正是解决这些问题的灵丹妙药. mock技术的目的和作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与测试边界以外的对象隔离开. 我们可以自己编写自定义的Mock对象实现mock技术,但是编写自定义的Mo

使用postman 实现mock测试

mock测试,源自于英文单词fake,意为假的测试 实际工作中用于模拟那些无法实时连接的后端,或是没有开发出来的后端,用于获得结果反馈的一种测试方式.通过发送请求后,模拟后台返回的响应内容来确认当前系统的正确性. 下面通过postman工具来实现mock 要求:要注册后才可以实现 策略:使用mock-server配置私有环境变量并设置相应内容,获取mock-sever的接口密钥AIP-key并创建接口名称,将mock-server的url和接口密钥API-key一并添加在环境变量中,在当前集合中

postman、python之mock测试

1.python中的mock测试 1).安装mock第三方库:pip install -i https://pypi.douban.com/simple mock 2).实现demo: 1 import unittest 2 from mock import Mock 3 4 5 def add(a, b): 6 pass 7 8 9 class TestAdd(unittest.TestCase): 10 def test_add_01(self): 11 add = Mock(return_

使用PowerMock进行Mock测试

安装 下载地址:https://github.com/jayway/powermock/wiki/Downloads.下载" Mockito and JUnit including dependencies"版本.当前版本为”powermock-mockito-junit-1.6.3.zip". IntelliJ IDEA的设置如下: 右击工程,选择“Open Module Settings” 按下“ALT + Insert”,选择“Jars or directories..