mock使用工具类(mock文件操作)

网友投稿 454 2023-04-25


本篇文章给大家谈谈mock使用工具类,以及mock文件操作对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享mock使用工具类的知识,其中也会对mock文件操作进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

接口自动化测试之Mock




Mock介绍









1.找到要替换的对象:我们需要测试的是visit_ustack这个函数,那么我们需要替换掉send_request这个函数。


2.实例化Mock类得到一个mock对象,并且设置这个mock对象的行为。在成功测试中,我们设置mock对象的返回值为字符串“200”,在失败测试中,我们设置mock对象的返回值为字符串"404"。


3.使用这个mock对象替换掉我们想替换的对象。我们替换掉了client.send_request


4.写测试代码。我们调用client.visit_ustack(),并且期望它的返回值和我们预设的一样。


上面这个就是使用mock对象的基本步骤了。在上面的例子中我们替换了自己写的模块的对象,其实也可以替换标准库和第三方模块的对象,方法是一样的:先import进来,然后替换掉指定的对象就可以了。



Mockrunner用在J2EE环境中进行应用程序的模拟测试。它不仅支持Struts actions,servlets,过滤器和标签类,还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。


Mockrunner扩展了JUnit并模拟了必要的行为,而无需调用实际的基础结构。它不需要正在运行的应用程序服务器或数据库。此外,它不会调用web容器或Struts ActionServlet。它非常快速,使用户可以在测试的所有步骤中操纵所有涉及的类和模拟对象。它可以用于为基于J2EE的应用程序编写非常复杂的单元测试,而不会产生任何开销。Mockrunner不支持任何类型的容器内测试。


Mockrunner不会读取任何配置文件,例如web.xml或struts-config.xml。您可以使用Mockrunner API指定所有参数。因此,可以将servlet,过滤器,标签和Struts动作作为可重用组件进行测试,而不管您在一个或另一个应用程序中使用的设置如何。无法测试配置文件中的定义。如果要这样做,可以将StrutsTestCase用于基于Struts的应用程序或Cactus。


Mockrunner支持Java版本从1.3到1.6以及J2EE 1.3,J2EE 1.4和JavaEE5。尚不支持EJB 3.0。Mockrunner支持Struts版本1.1、1.2和1.3。


下载地址:Mockrunner download | SourceForge.net





最后:【可能给你带来帮助的教程】软件测试最新自学教程

mock.js 的介绍与使用

Mock.js (官网地址:http://mockjs.com/)是一款模拟数据生成器,旨在帮助前端工程师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:

1,根据数据模板生成模拟数据

2,模拟 Ajax 请求,生成并返回模拟数据

3,基于 HTML 模板生成模拟数据

1.安装mock
2.在src下新建一个mock文件 引入mock.js
3.在页面中发送请求
4.在mock文件夹下的index.js中设置mock数据,并拦截请求,将假数据传入页面
1.属性值是字符串

'name|min-max': string

通过重复 string 生成一个字符串,重复次数大于等于 min,小于等于 max。

'name|count': string

通过重复 string 生成一个字符串,重复次数等于 count。

2.属性值是数字

name|+1': number

属性值自动加 1,初始值为 number。

’name|min-max': number

生成一个大于等于 min、小于等于 max 的整数,属性值 number 只是用来确定类型。

'name|min-max.dmin-dmax': number

生成一个浮点数,整数部分大于等于 min、小于等于 max,小数部分保留 dmin 到 dmax 位。

3.属性值是布尔类型

'name|1': boolean

随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2。

4.属性值是数组

'name|1': array

从属性值 array 中随机选取 1 个元素,作为最终值。

'name|+1': array

从属性值 array 中顺序选取 1 个元素,作为最终值。

'name|min-max': array

通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max。

'name|count': array

通过重复属性值 array 生成一个新数组,重复次数为 count。

如何使用Powermock对静态方法进行mock

  在平常工作过程中mock使用工具类,总会设计些工具类,里面通常使用静态方法来实现。那么如何来对这些静态方法进行mock,以及如何验证静态方法被调用?下面简单介绍下如何使用Powermock来实现针对静态方法的mock。

  首先我们设计一个静态类如下(Utility.java):

  被测试类如下(UtilityHelper.java):

  在被测试类中分别定义了两个方法,分别调用了Utility类里面的两个静态方法,下面我们通过对这两个方法进行测试,来介绍下使用Powermock对静态方法进行mock的各种用法。

  测试类如下(UtilityHelperTest.java):

可以看到虽然入参非空,但是由于返回值返回了true,使得调用sum方法返回的值是0。
  另外,如果我们想要验证某静态方法是否被调用,或者被调用了几次,我们可以用如下方式验证:

  先使用verifyStatic方法表明要验证静态方法,可以带参数,也可以不带参数,其参数可以使用Mockito的times方法或never方法来表示其调用次数。下面紧跟着的一行则表示要验证的是哪个已经mock的静态方法。

  那么如果我们想对已经mock的类的某个方法调用真实的方法,而不是调用mock方法,那么该如何处理呢?此处我们介绍两种实现:

  加了上面一行后,虽然也没有对listIsNotNullOrEmpty进行mock,但此时返回值是真正的值,说明没有调用默认的mock方法。使用spy后,虽然已经对该类做了mockStatic处理,但此时该类中的所有方法仍然都会调用真实的方法,而不是默认的mock方法。这种用法主要适用于只想要对某个类的少量方法进行mock,其mock使用工具类他方法仍然执行真正的方法,平常写时,可以紧跟在mockStatic方法后。

  此行的含义就是调用到mock类的该方法执行真正的方法,而不是mock方法。这种方式就是需要对每个要执行的方法都要进行相应的mock处理。
  上述两种方式,可以根据自己的需要进行选择使用哪一种。但是一定要记得,只要使用了mockStatic某类时,该类中的所有方法就已经都默认被mock了, 在调用该类的方法时,必须根据具体方法进行相应的处理。
  另外,重要的事说三遍: 如果要mock静态方法,必须要在PrepareForTest后面加上该方法所在的类 。

关于mock使用工具类和mock文件操作的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 mock使用工具类的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mock文件操作、mock使用工具类的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:接口测试dubbo协议(dubbo接口如何测试)
下一篇:简单谈谈React中的路由系统
相关文章

 发表评论

暂时没有评论,来抢沙发吧~