mock

用Mockito和PowerMockito写了20多个UT的心得

蓝咒 提交于 2019-11-26 19:39:53
用Mockito和PowerMockito写了20多个UT的体会(一) 单元测试 : 程序开发过程中,写代码是为了实现需求。当我们的代码通过了编译,只是说明它的语法正确,功能能否实现则不能保证。 因此,当我们的某些功能代码完成后,为了检验其是否满足程序的需求。可以通过编写测试代码,模拟程序运行的过程,检验功能代码是否符合预期。 软件开发的生命周期中,单元测试是由编程人员来完成的,那么作为一个初级程序员, 单元测试是必须要掌握的 。 单元测试实际上就是一些“断言”(assert)代码 。 断言 就是判断一个函数或对象的一个方法所产生的结果是否符合你期望的那个结果。 常见的断言 : assertEqual 如果两个值相等,则pass assertNotEqual 如果两个值不相等,则pass assertTrue 判断bool值为True,则pass assertFalse 判断bool值为False,则pass 常见的单元测试方式 有两种:运行测试(JUnit)和mock测试(PowerMock) 运行测试就是运行真实的项目环境(启动spring应用、连接数据库、加载各种环境等),它依赖于真实的环境和数据库,代码之间耦合性强,假如我的代码依赖程序员小B的接口,小B写的接口业务没实现完,我采用运行测试的方法进行单元测试就测不了了。 使用mock测试可以解决我刚才的问题

vue中模拟后台数据

試著忘記壹切 提交于 2019-11-26 18:22:00
转自: http://www.jianshu.com/p/0210d11286b5 从头搭建Vue + axios + Mock Server的开发环境 一恋蝶梦 关注 2017.03.10 17:15* 字数 786 阅读 1032 评论 1 喜欢 17 一、创建项目 使用vue开发项目时,通过脚手架工具vue-cli可以很方便的构建项目,热重载、保存时静态检查以及可用于生产环境的构建配置都一并创建好。 # 全局安装 vue-cli $ npm install -g vue-cli # 创建一个基于 webpack 模板的新项目 $ vue init webpack my-project # 安装依赖 $ cd my-project $ npm install 更具体的可以看官方文档: http://cn.vuejs.org/v2/guide/installation.html 二、安装网络请求模块 vue2.0后官方不再推荐vue-resource 作为 ajax 方案。(具体原因看这: https://github.com/vuefe/vuefe.github.io/issues/186 ) 在这里使用axios处理ajax请求,对应的vue插件:vue-axios # 安装 axios 和 vue-axios $ npm install --save axios vue

vue mock数据(模拟后台)

此生再无相见时 提交于 2019-11-26 18:20:47
本文转载自: https://blog.csdn.net/benben513624/article/details/78562529 vue实现ajax获取后台数据是通过vue-resource,首先通过npm安装vue-resource npm install vue-resource --save 安装完成以后,把vue-resource引入到main.js文件中 src/main.js // The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import Vue from 'vue' import App from './App' import router from './router' import VueResource from 'vue-resource' import Layout from './components/layout' Vue.use(VueResource); /* eslint-disable no-new */ new Vue({ el: '#app', router, template: '<Layout/>',

Mock.js的使用

☆樱花仙子☆ 提交于 2019-11-26 14:42:55
0.前言 Mock.js用于生成随机数据,下载Mock.js。导入项目后可以生成动态本地数据。 使用https://easy-mock.com/可以生成在线的动态随机数据。 测试成熟后,可以替换为正式的数据。 作为数据趋动的微信小程序开发,使用Mock.js可以大大节省前后端交流的时间,可以使前端工程师专注于逻辑的实现。 1.什么是Mock.js? 生成随机数据,拦截 Ajax 请求。 通过随机数据,模拟各种场景;不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据;支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等;支持支持扩展更多数据类型,支持自定义函数和正则。 优点是非常简单方便, 无侵入性, 基本覆盖常用的接口数据类型. 2.安装 使用npm安装:npm install mockjs; 或直接<script src="http://mockjs.com/dist/mock.js"></script>; 3.使用方式 0.官方示例 http://mockjs.com/examples.html 1-基本语法 Mock.mock('地址',{ "dataname|rule":{"对应的值"} }) 说明: 地址就是我们通过ajax获取数据时候填写的地址,这里填写的地址可以是任意不存在的地址,第二个参数是我们要模拟的数据,以及相应的规则。 2-语法规则

Mockito 简明教程

三世轮回 提交于 2019-11-26 11:33:37
原文同步至 http://waylau.com/mockito-quick-start/ Mock 测试是单元测试的重要方法之一。本文介绍了基于 Java 语言的 Mock 测试框架 -- Mockito 的使用。 什么是 Mock 测试 Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。 Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。 比如一段代码有这样的依赖: 当我们需要测试A类的时候,如果没有 Mock,则我们需要把整个依赖树都构建出来,而使用 Mock 的话就可以将结构分解开,像下面这样: Mock 对象使用范畴 真实对象具有不可确定的行为,产生不可预测的效果,(如:股票行情,天气预报) 真实对象很难被创建的 真实对象的某些行为很难被触发 真实对象实际上还不存在的(和其他开发小组或者和新的硬件打交道)等等 使用 Mock 对象测试的关键步骤 使用一个接口来描述这个对象 在产品代码中实现这个接口 在测试代码中实现这个接口 在被测试代码中只是通过接口来引用对象

java.lang.AbstractMethodError: org.powermock.api.mockito.internal.mockmaker.PowerMockMaker.isTypeMockable

限于喜欢 提交于 2019-11-26 08:44:30
【转】 https://stackoverflow.com/questions/53539930/java-lang-abstractmethoderror-org-powermock-api-mockito-internal-mockmaker-powe The following github links helped in fixing the issue up, all I had to do was to upgrade the powermock-api version to 2.0.0-beta.5 to make it work properly with mockito2. https://github.com/mockito/mockito/issues/1207 https://github.com/powermock/powermock/wiki/Mockito#introduction https://github.com/mockito/mockito/issues/292 <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-core</artifactId> <version>2.0.0-RC.4</version> <scope>test</scope> <

jQuery的ajax封装和前端mock数据

て烟熏妆下的殇ゞ 提交于 2019-11-25 20:38:45
使用jQuery的ajax进行网络请求,一般会先对它进行封装,封装成便于管理的形式。 我一般的封装如下: /** * mock数据 */ var myData = { getData: [ { "itemTitle": "测试用文字标题一", "itemSubTitle": "P0000000123456", "leftContentOne": "生效日期", "leftContentTwo": "2018-12-30", "rightContentOne": "上传日期", "rightContentTwo": "2018-12-30" }, { "itemTitle": "测试用文字标题二", "itemSubTitle": "P0000000123456", "leftContentOne": "生效日期", "leftContentTwo": "2018-12-30", "rightContentOne": "上传日期", "rightContentTwo": "2018-12-30" } ] } /** * ajax请求封装 */ var dataRequest = { request: function (opts) { // var _myData = myData[opts.key]; // opts.callback(_myData); // return; $