java
文章平均质量分 85
阿星君
因为热爱
展开
-
全方面了解接口自动化,看完还不会你锤我
一、自动化分类(1)接口自动化python/java+requests+unittest框架来实现 python/java+RF(RobotFramework)框架来实现——对于编程要求不高(2)Web UI功能自动化python/java+selenium+unittest+ddt+PO框架来实现 python/java+RFS(RobotFrameWork+Selenium)框架来实现——对于编程要求不高(3)App自动化python/java+appnium+unit原创 2021-07-13 15:34:06 · 25082 阅读 · 12 评论 -
我跪着看完了这些神仙渗透测试面试题!
拿到一个待检测的站或给你一个网站,你觉得应该先做什么?一、信息收集1.获取域名的whois信息,获取注册者邮箱姓名电话等。2.通过站长之家、明小子、k8等查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。3.通过DNS域传送漏洞、备份号查询、SSl证书、APP、微信公众号、暴力破解、DNS历史记录、K8 C段查询、Jsfinder、360或华为威胁情报、证书序列号获取企业域名与ip。4.通过Nmap、Wappalyzer、御剑等查看原创 2021-07-12 21:17:19 · 923 阅读 · 19 评论 -
软件测试需要学什么?测试学习大纲梳理
很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识。下面是根据本人的理解,粗略整理的一个学习大纲,基本上涵盖了软件测试工程师需要掌握的全部技能,希望对刚入行或者准备学习测试的朋友提供一点指引。1.测试基础理论不管有没有计算机基础,测试理论的学习都是首要的,不管你的目标是功能测试、性能测试、测试开发,这些基础知识必须优先掌握。主要包括常见的软件开发流程及模型,尤其是解敏捷开发相关知识。然后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其原创 2021-07-12 17:16:38 · 16588 阅读 · 1 评论 -
为什么你那么努力,却一直还得不到提升?
前言:《挪威的森林》永泽有一句话:“绝大部分人都只是在机械地劳动,但那不叫努力。”为什么你那么努力,却一直还得不到提升?正文:今天在知乎上看到这样一个帖子: 性别:男。 年龄:26岁。 坐标:帝都。 工作年限:4年 。 目前薪资:20+。 技能树:语言:c#/js/html/css/Java/python/haskell(等等) 数据库:sqlserver oracle mongodb(等等)。 掌握程度:.原创 2021-07-09 17:20:10 · 425 阅读 · 2 评论 -
测试开发必备技能:安全测试漏洞靶场实战
安全在互联网行业,是一个对专业性较强,且敏感的一个领域,所谓"一念成佛,一念入魔",安全技术利用得当,可以为你的产品、网站更好的保驾护航,而如果心术不正,利用安全漏洞去做一些未法牟利,则容易造成承担不必要的违法责任。在日常很容易被大家忽略的一点,在非授权的情况下,对网站进行渗透攻击测试,也是属于非合规操作,是触及法律法规的。因此对于大家在学习安全测试过程中,通常建议是直接在本地直接搭建安全演练靶场环境,尽量避免直接对非授权的网站进行测试。掌握安全测试是测试开发工程师进阶的一项硬技能,今天这篇文章,就原创 2021-07-08 19:56:10 · 244 阅读 · 2 评论 -
GRPC协议 Mock Server服务
PowerMock是一个Mock Server的实现,它同时支持HTTP与gRPC协议接口的Mock,并提供了灵活的插件功能。 这个工具面向于前后端、测试等对有接口Mock需求的开发人员,也可以作为一个通用的Mock服务,部署在网关架构或API管理平台中,实现降级、接口Mock等功能。功能作为一个Mock Server,PowerMock具有以下的核心功能:支持HTTP协议与gRPC协议接口的Mock。 支持配置Javascript等脚本语言来动态生成响应。 支持对一个接口配置多...原创 2021-07-07 14:54:03 · 356 阅读 · 4 评论 -
测试开发工具大全,看看有没有你使用的!
收集和整理各种测试工具,自动化测试工具,自动化测试框架,觉得有帮助记得三连一下。 欢迎提交各类测试工具到本博客。也可以加我q3177181324,拉你进技术交流群,探讨更多相关知识。通用测试框架JUnit: 最著名的xUnit类的单元测试框架,但是不仅仅可以做单元测试。TestNG: 更强大的Java测试框架,灵活可扩展,支持注解和多线程。pytest: 最强大的Python测试框架,可定制性高,插件丰富。unittest: Python官方内置的测试框架。RobotFramewo原创 2021-07-06 14:35:17 · 1948 阅读 · 0 评论 -
关于用户验收测试的那些面试题,都帮你整理好了!
什么是用户验收测试? 当软件产品顺利通过了系统测试之后就开始了用户验收测试阶段。用户验收测试,顾名思义就是交付给用户,让用户执行产品验收所进行的测试,因此也被称为交付测试。用户验收测试是产品上市之前的最后一个正式的测试阶段。下面列举几道典型面试题来帮助大家理解。面试题1:为什么要对软件测试进行用户验收测试?解答每一个产品都是为最终的用户设计和开发的,因此让用户参与测试是获取用户产品反馈的重要途径。通过用户验收测试可以实现在用户环境中对产品规格说明书进行验证。通过用户验收测试可以实现在原创 2021-07-03 16:08:27 · 666 阅读 · 0 评论 -
千万不要给女朋友解释 什么是“二叉树算法”
千万别给自己女朋友以任何方式讲技术,问就是不知道,秘诀~ 事情是这样的。女朋友最近突然爱学习了,各种刷数据库、Linux方面的题,以前都是没日没夜的追剧,突然有了学习的劲头,着实让我没想到。看似一片欣欣向荣,不过,长期的生存经验告诉我,这并不是什么好事,事出反常必有妖~但凡有交友经验的兄弟都知道,和女朋友讲技术真是一言难尽,不光看你讲解的临场发挥能力,还要分N次考核你对女朋友的耐心程度。一个零基础小白不追肥皂剧了,开始研究数据库、Linux,弯转的有点急啊,不过,不管怎么样渴望学习是好事。原创 2021-07-03 16:04:06 · 158 阅读 · 0 评论 -
面试官:自动化测试分层思想,你是如何理解的?
在往期我们讲了很多实现自动化过程中的一些面试题,那么实现自动化之后,问题又来了。你肯定要考虑分层了面试官:自动化测试分层思想,你是如何理解的? 我看到过很多招聘需求上直接写了这一点,会自动化测试分层思想优先。啥意思?但凡能称得上优先的,就是加分项呐。所以,为什么要有这个自动化分层?自动化分层到底怎么做?那你就得给面试官说清楚了那你可以这样说:当我们的脚本能够实现自动化,能够让我们自动去点点点了,接下来我们要考虑这个脚本的稳定性,因为你可能说一个背景,自动化用例越来越多,数据也越来越多。为原创 2021-07-03 15:45:18 · 412 阅读 · 0 评论 -
PHP中使用PDO操作事务的一些小测试
关于事务的问题,我们就不多解释了,以后在学习 MySQL 的相关内容时再深入的了解。今天我们主要是对 PDO 中操作事务的一些小测试,或许能发现一些比较好玩的内容。在 MyISAM 上使用事务会怎么样?首先,相信只要是学过一点点的 MySQL 相关知识的人都知道,在 MySQL 中常用的两种表类型就是 InnoDB 和 MyISAM 这两种类型。当然,我们今天也不讲它们全部的区别,但有一个区别是最明显的,那就是 MyISAM 不支持事务。那么,如果我们在 PDO 操作中对 MyISAM 进行事务操作原创 2021-07-02 16:33:50 · 175 阅读 · 4 评论 -
单元测试和 benchmark
在写每个功能的时候,都会涉及到编写测试代码。那是因为 TDD(Test-Driven Development,测试驱动开发)中提倡先编写测试代码,然后再编写功能代码,每做一个修改后,都要执行一次单元测试和基准测试,以此来验证功能和性能是否有问题。特别是业务系统代码经常变更,单元测试和基准测试也就显得非常重要。而每种语言都有自己的测试框架,比如 Go 语言,它是一门注重工程效率的语言,有着非常强大的工具链,它自带的测试框架,能满足我们大部分测试要求。所以,这里介绍如何使用 Go 测试框架做性能测试中的原创 2021-07-02 16:31:50 · 464 阅读 · 1 评论 -
测试开发必备技能:Mock的使用
1. 背景在实际产品开发过程中,某个服务或前端依赖一个服务接口,该接口可能依赖多个底层服务或模块,或第三方接口,比如说服务 A 依赖服务B,服务B又依赖服务 C,如下图所示:这种依赖的问题会导致原本的需求目的是要验证服务A,但由于所依赖的服务B或者服务C不稳定或者未开发完成,导致工作无法正常开展。那作为测试工程师,面对这样的情形,我们该怎么办呢?解决这类问题的核心的思路:引入依赖服务替身,更通俗的叫法,引入Mock服务。今天就结合unittest框架,给大家分享一些关于Mock的一些常见..原创 2021-07-02 16:26:48 · 383 阅读 · 0 评论 -
HttpServletResponse
我们在创建Servlet时会覆盖service()方法或doGet()/doPost(),这些方法都有两个参数:代表请求的request和代表响应的response。service方法中的response的类型是ServletResponse,而doGet/doPost方法的response的类型是HttpServletResponse,HttpServletResponse是ServletResponse的子接口,功能和方法更加强大,今天呢,阿星君带大家了解一下HttpServletResponse。原创 2021-07-02 16:22:37 · 1856 阅读 · 1 评论 -
JavaWeb核心之Servlet
今天呢,阿星君就带大家了解一下什么是servlet。Servlet简介Servlet是运行在服务端的Java小程序,是sun公司提供的一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API动态的向客户端输出内容。servlet规范:包含三个技术点1)servlet技术2)filter技术—过滤器3)listener技术—监听器Servlet快速入门实现步骤:1)创建类继承HttpServlet类2)覆原创 2021-07-02 16:16:55 · 174 阅读 · 2 评论 -
程序世界里的不信任原则
导语人与人之间最重要的是信任,但程序的世界里,可能信任越少越好;我越发觉得越是高性能高可用的系统里,不信任原则会体现得更加淋漓尽致。 为了少走弯路,写下这篇文章留给自己参考,其中一些是自己踩过的一些坑;一些是接手他人系统时触过的雷;还有一些是从别人分享的经验学习得来;能力有限,先记下自己的一些体会,错误的地方再慢慢改正。一、编程的世界里十面埋伏编程,是一件容易的事,也是一件不容易的事。说它容易,是因为掌握一些基本的数据类型和条件语句,就可以实现复杂的逻辑;说它不容易,是因为高性能高可用的代码原创 2021-07-01 16:49:53 · 327 阅读 · 3 评论 -
生成自测文档的Python项目
作为一个码农, 有时候开发自己的平台, 总是需要一个测试平台服务的工具, 你可能想到了postman ,是的, 它可以解决我们开发中单个服务的调试工作, 但是我想要的不局限于单个服务的测试。✏️ ️1. 需 求 罗 列盘点了几个现在需要的需求, 如下:自动化测试 API 服务 生成测试数据报告 异常请求捕获 请求响应总览在请求中, 我需要执行脚本就可以测试所有的服务 API, 并且生成报告文件供我阅览测试的结果, 结果需要对异常的请求进行异常信息补货, 并对所有请求进行相应状态分类.原创 2021-07-01 16:47:44 · 175 阅读 · 0 评论 -
解放双手 - Android 开发应该尝试的 UI 自动化测试
困境接下来我将说到这种情况并非个例——作为一个Android开发者,当我实现了一个界面的一些功能,或者对界面上某些功能进行了修改,我该如何去查收我想要的结果呢?最简单的方式就是直接编译运行App,通过自己的操作对界面进行交互,从个人的视觉效果上进行功能的检查,比如我实现了一个RecyclerView,我就打开界面,看看这个列表是否正确显示在了界面上。不久之后,我觉得某些地方代码不是很好,于是我改了一些代码,我怕会出现问题,于是为了保证项目能够不出问题(至少是避免低级的错误),我选择再次编译运行,转载 2021-07-01 16:20:58 · 542 阅读 · 0 评论 -
家务活中的python协程
为什么要用协程,通常在Python中我们进行并发编程都是使用多线程或者多进程来实现的,对于计算型任务由于GIL的存在我们通常使用多进程来实现,而对于IO型任务我们可以通过线程调度来让线程在执行IO任务时让出GIL,从而实现表面上的并发。协程是运行在单线程当中的“并发”,协程相比多线程一大优势就是省去了多线程之间的切换开销,获得了更大的运行效率。本文不会对python协程的实现机制展开讨论,只是通过简单的示例展示协程最常见的用法,可以很快上手一些基于协程的高性能的web框架,比如FastAPI。1.原创 2021-07-01 13:44:30 · 118 阅读 · 1 评论 -
游戏测试-战斗内核的自动化测试
今天给大家分享一个游戏自动化测试的落地。这款游戏有独立的战斗内核负责局内战斗的计算,所以每次需要测试战斗内核时,都需要服务器重新部署,客户端(移动端、PC端等)重新出包,最后才能交付给测试进行测试,整个流程比较长,也比较耗时,所以我们就考虑在战斗内核更新时就进行测试,这样可以简化测试流程,节约时间。经过和内核组开发的探讨后,决定使用内核开发组提供的QT工具(如下图展示),在本地运行游戏的战斗内核,通过执行多个命令构建起测试的场景,再通过数据交互拿到测试数据,以此来达到我们想要的测试目的。1. 环原创 2021-06-30 17:24:50 · 701 阅读 · 1 评论 -
Playwright快速上手指南
Playwright是由微软公司2020年初发布的新一代自动化测试工具,相较于目前最常用的Selenium,它仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作。作为针对 Python 语言纯自动化的工具,在回归测试中可更快的实现自动化。1. 为什么选择Playwright1.1 Playwright的优势(1) Selenium需要通过WebDriver操作浏览器;Playwright通过开发者工具与浏览器交互,安装简洁,不需要安装各种Driver。原创 2021-06-30 17:21:01 · 906 阅读 · 1 评论 -
单元测试利器Mockito框架
读 8658前言Mockito是当前最流行的单元测试Mock框架。采用Mock框架,我们可以虚拟出一个外部依赖,降低测试组件之间的耦合度,只注重代码的流程与结果,真正地实现测试目的。正文什么是MockMock的中文译为仿制的,模拟的,虚假的。对于测试框架来说,即构造出一个模拟/虚假的对象,使我们的测试能顺利进行下去。Mock测试就是在测试过程中,对于某些不容易构造(如HttpServletRequest必须在Servlet容器中才能构造出来)或...原创 2021-06-30 17:15:45 · 161 阅读 · 1 评论 -
python+appium+pytest自动化测试-跳过测试与预期失败的测试
在我们自动化测试过程中,经常会遇到功能阻塞、功能未实现、环境等一系列外部因素问题导致的一些用例执行不了,这时我们就可以用到跳过skip用例,如果我们注释掉或删除掉,后面还要进行恢复操作。一、跳过测试类该方法用于需要跳过的测试类,在测试类前面添加装饰器:@pytest.mark.skip()。1.skip():被标记的类中所有方法测试用例都会被跳过import pytest@pytest.mark.skip()class TestPhoneLogin: def test_err原创 2021-06-30 17:09:44 · 312 阅读 · 0 评论 -
写好测试,提升应用质量
一、 测试的重要性测试很重要!测试很重要!测试很重要!重要的事情说三遍。场景1:每次我们写完代码后都需要编译运行,以查看应用程序的表现是否符合预期。假如改动点、代码量小,那验证成本低一些,假如不符合预期,则说明我们的代码有问,人工去排查问题花费的时间也少一些。假如改动点很多、受影响的地方较多,我们首先要大概猜测受影响的功能,然后去定位问题、排查问题的成本就很高。场景2:你新接手的 SDK 某个子功能需要做一次技术重构。但是你只有在公司内部的代码托管平台上可以看到一些 Readme、接入文档、系统原创 2021-06-30 16:56:20 · 243 阅读 · 1 评论 -
新手“超级”容易用错的几个Airtest和Poco的API,看看你有没有遇到过!
前言最近在我们的答疑群里面,经常遇到这样一类情况:错把Airtest的API强行用在Poco控件上面 错把Poco的API强加在Airtest的截图脚本上面 不管API的实际用法如何,只按自己的臆想去编写脚本,最终运行脚本时出现各种报错所以今天我们给大家整理了这几个API用错的常见情况,希望可以让同学们写脚本时少踩一点坑。容易用错API的情况汇总1. 混用Airtest和Poco框架的exists()用错概率超级高的一个方法!!!先上一个错误示范:非常典型的一个把Air..原创 2021-06-30 16:22:15 · 569 阅读 · 0 评论 -
自动化测试实操案例详解 | Windows应用篇
前言之前有同学留言说想看Windows应用的自动化,那么今天我们就用1个简单的例子,带大家一起来看一下Windows应用的自动化究竟有哪些坑。因为桌面应用的多样化,IDE连接各种Windows窗口也会出现各种各样的问题,同学们在连接Windows窗口时如果出现问题,比如无法嵌入、连接后闪退、连接后窗口被拉伸等等,建议同学们多尝试几种连接方式,总会找到一种比较好的连接方式。另外,因为同学们平常多使用移动设备进行测试,换成测试Windows应用时,很容易把一些移动设备才有的接口用到Windows..原创 2021-06-30 16:18:02 · 1595 阅读 · 1 评论 -
Mac上测试Internet Explorer的N种方法
Internet Explorer及其升级的版本Edge浏览器仅在Windows计算机上运行。如果您拥有Mac设备,并且想在Internet Explorer或Edge上对网站执行跨浏览器测试,那么真不好意思。 您将不得不投资于单独的Windows设备,或者阅读文章直到最后,了解一些更好的选择。Internet Explorer曾经是世界上使用最流行的浏览器,Microsoft在2015年发布公告表示弃用该浏览器。IE死亡的背后有很多原因,主要原因是Microsoft推出的名为Edge的更高级的浏览器。原创 2021-06-30 16:13:58 · 793 阅读 · 1 评论 -
微服务测试开发-项目中用到了rocketmq该怎么测试
1、什么是MQmq是消息中间件,最简单的理解就是A服务发送一条消息给B服务,B服务收到消息后做一系列的动作这个能解决什么问题呢削峰,服务之间如果通过接口调用的话,无论是http还是rpc,但是属于同步的动作,意味着会存在大量的数据同一时刻到被调用服务,而使用mq完美解决该问题 解耦,服务之间数据交互不再通过mysql,redis等,实现服务之间的解耦2、什么情况会用到mq呢?服务之间有数据交互时,但不要求时效性比如:电商场景中,订单系统生成订单后会通知仓库生成出库单,会通..原创 2021-06-29 17:10:58 · 1599 阅读 · 3 评论 -
面向测试编程--代码的可测性
背景这是之前参加的一个工程师交流会上别人分享的一个小议题,做了一些笔记,后面整理资料的时候又从网上搜集了一些做补充,今天分享一下代码的可测性测试性不好的代码特征缺陷1: 构造函数做了实际工作构造函数或域声明中出现new字眼 构造函数或域声明中调用静态方法 构造函数做了分配域字段之外的事情 构造函数中,对象初始化工作没有完成彻底(小心初始化方法) 构造函数中,出现了控制流(基于条件或循环的逻辑) 在构造函数内构造复杂的对象图,而不是使用工厂(factory)模式或构造器(buil原创 2021-06-29 16:58:01 · 409 阅读 · 0 评论 -
小程序自动化测试
背景近期团队打算做一个小程序自动化测试的工具,期望能够做到业务人员操作一遍小程序后,自动还原之前的操作路径,并且捕获操作过程中发生的异常,以此来判断这次发布是否会影响小程序的基础功能。上述描述看似简单,但是中间还是有些难点的,第一个难点就是如何在业务人员操作小程序的时候记录操作路径,第二个难点就是如何将记录的操作路径进行还原。自动化 SDK如何将操作路径还原这个问题,首选官方提供的 SDK:miniprogram-automator。小程序自动化SDK为开发者提供了一套通过外部...原创 2021-06-29 16:55:18 · 1712 阅读 · 0 评论 -
史上最强 Charles 抓包
内容清单Charles 的简介 安装 Charles Charles 初始化设置 过滤网络请求 截取HTTP/HTTPS数据 模拟弱网环境 修改网络请求 修改服务器返回内容 服务器压力测试 反向代理 解决与翻墙软件的冲突Charles 的简介Charles是目前最主流的网络调试工具(Charles、Fiddler、Wireshark...)之一,对于一个开发者来说与网络打交道是日常需求,因此很多时候我们需要调试参数、返回的数据结构、查看网络请求的各种头信息、协议、响应时间...原创 2021-06-29 16:52:05 · 365 阅读 · 0 评论 -
利用装饰器,帮你自动处理异常并优雅实现重跑case
前言同学们是否遇到过这些场景?case因为网络波动而跑失败了?在最后时刻,系统弹出了一条骚扰短信遮挡了关键位置,脚本硬是没跑过去?又或者因为手机上的闹铃响起来,让脚本运行意外失败了?相信很多同学都会想到用代码去处理这些异常,因为我们总不能时时刻刻盯着脚本运行,然后在出现异常时手动处理掉,但是代码可以帮我们实现自动处理异常。但也有很多同学,因为处理异常复制粘贴了大量代码,用例脚本里面随处可见处理异常的代码。所以今天我们将教大家在不改动原有用例脚本的情况下,利用装饰器优雅地处理异常并实现ca..原创 2021-06-29 16:48:12 · 212 阅读 · 0 评论 -
使用 YApi 管理 API 文档,测试, mock
前言随着互联网的发展,API变的至关重要。根据统计,目前市面上有上千万的开发者,互联网项目超过10亿,保守统计涉及的 API 数量大约有 100 亿。这么大基数的API,只要解决某些共有的痛点,将会是非常有意义的事情。我们总结了API管理方面的问题,发现与API相关的文档,调试,测试和数据Mock 在工作中效率是非常低下的。业务痛点接口的维护管理非常耗时,大概占用了30%开发时间。后端程序员要维护对于他们冗余的文档,前端程序员又因为后端开发提供的文档不准确,导致浪费了大量的时间.原创 2021-06-29 16:43:23 · 240 阅读 · 2 评论 -
Linux下Arthas的安装和卸载
关于Arthas安装步骤其实跟Windows下安装是差不多的,也是下载Arthas的jar包,启动jar包来安装Arthas方法一,在线安装1.登录服务器这个就不多说了,使用服务器的这是基本操作,使用root身份登录服务器2.进入安装目录进入你想存放Arthas的jar包的路径,同样的,如果没有就新建,有的话就直接进入,ls命令是显示当前目录下的所有文件夹,可以查看Arthas文件夹有没有创建成功这里有一个快速创建文件夹的命令提供给大家使用,比如我想创建一个叫Arthas的文件夹来.原创 2021-06-29 16:39:53 · 700 阅读 · 0 评论 -
什么是 TestDouble?
术语 解释 SUT(System Under Test) 被测系统 DOC(depended-on component) 第三方依赖组件 简介&理解TestDouble 简单理解就是测试替身,在多数情况下,我们的系统能够正常运行,不仅仅依托系统本身,还需要依赖一些外部服务,比如其他系统提供的 http、rpc 服务,系统自身以来的像 redis 缓存服务或者 mysql 这类数据库服务。在微服务场景下,业务按照业务领域将一个系统拆分为多个系统,系统之间的交互不仅..原创 2021-06-29 16:25:20 · 1008 阅读 · 0 评论 -
Java测试框架系列:PowerMock使用系列-9:常见问题
06月20日阅读 261常见问题1:PowerMockRunner 抛出了java.lang.NoClassDefFoundError: org/junit/internal/runners/BeforeAndAfterRunner或java.lang.SecurityException: class "org.junit.internal.runners.TestClass"'s signer information does not match signer informati.原创 2021-06-29 16:03:19 · 1841 阅读 · 0 评论 -
Java测试框架系列:PowerMock使用系列-8:委托给其他Runner和使用引导程序
月20日阅读 8一:使用 @PowerMockRunnerDelegate需要源代码的加我QQ(3177181324) 从PowerMock 1.6.0可用的功能。从PowerMock 1.6.0版本以来,支持将测试执行委托给另一个JUnit runner而不使用JUnit Rule. 这将实际的测试执行留给您选择的另一个runner。 例如,测试可以委托给“SpringJunit4ClassRunner”,“Parameterized”或“Enclosed”runner。 用法示.原创 2021-06-28 16:59:25 · 1020 阅读 · 1 评论 -
Java测试框架系列:PowerMock使用系列-7:和Mockito一起使用PowerMock
和Mockito一起使用PowerMock(源码加我QQ3177181324)介绍事实上,PowerMock提供了一个名为“PowerMockito”的类,用于创建mock对象/类并开始验证和期望(一个行为/调用或者返回值),您仍然可以使用Mockito设置和验证期望的所有其他内容(例如times(),anyInt())。所有的用法需要@RunWith(PowerMockRunner.class),并在类上标识@PrepareForTest注解。支持版本PowerMock 2.0.0原创 2021-06-28 16:52:04 · 1355 阅读 · 0 评论 -
Java测试框架系列:PowerMock使用系列-6:Mock系统类
Mock系统类注意:尽管此处显示的所有示例都是使用EasyMock API扩展制作的,但相同的技术也适用于Mocktio API扩展。总览在类上使用@RunWith(PowerMockRunner.class)注解。 在类上使用@PrepareForTest({ClassThatCallsTheSystemClass.class})注解。 使用mockStatic(SystemClass.class)去Mock系统类,然后设置正常的期望值。 仅EasyMock可用: 使用Po...原创 2021-06-28 16:41:09 · 541 阅读 · 0 评论 -
Java测试框架系列:PowerMock使用系列-5:Mock策略
Mock策略总览在类上使用@RunWith(PowerMockRunner.class)注解。 在类上使用@MockPolicy(MyMockPolicy.class)注解。示例可以使用Mock策略使得与PowerMock隔离的某些框架的代码的单元测试变得更容易。Mock策略的实现可以是如抑制某些方法,抑制静态初始化程序或拦截方法调用,并更改某些框架或一组类或接口的返回值(例如,返回模拟对象)。例如,可以实施Mock策略来避免为测试编写重复的设置代码。假设您使用的是框架X,并且要对其...原创 2021-06-28 16:39:42 · 585 阅读 · 0 评论