前言 在前几天的博客中,我转载了一篇文章,其中介绍了契约测试和pact是怎么实施的,的确很有帮助.但我经过研究,其实是pact本身也是有缺陷的,结合我近期在使用的服务型工具和我的实际情况,觉得实现契约测试其实有更有效率的解决方案,本文就通过我的视角看看我是如何快速实现契约测试的. 契约测试 因为前后端对接的过程中会出现信息不对称,以及工作进度不一致的情况,因此希望通过事先约定好API返回数据的文档,根据文档来开发后端代码,以及生产可以被前端调用的虚拟的API,帮助前后端能够同时开展工作并且保持前…
1. 前言 有近两周没有在公众号中发表文章了,看过我之前公众号的读者都知道,公众号中近期在连载<RobotFramework接口自动化系列课程>,原本计划每周更新一篇,最近由于博主在带一个新项目,实在是没空抽出时间来,所以向公众号中对连载课程一直期待的读者说声抱歉. 由于最近带微服务的项目,而对于微服务其实也是近从14年才流行起来,对于这块目前网上的干货内容还是较少,借着机会,小结一下知识点.所以今天也先不打算连载<RobotFramework接口自动化系列课程>,如果读者对连载的…
背景 如今,契约测试已经逐渐成为测试圈中一个炙手可热的话题,特别是在微服务大行其道的行业背景下,越来越多的团队开始关注服务之间的契约及其契约测试. 什么是契约测试     关于什么是契约测试这个问题,首先先看一下Pact官方文档给出的定义:pact的官方文档,是另一个可以帮助我们理解契约测试的地方.它对契约测试给出了这样的定义:"Contract testing is a way to ensure that services (such as an API provider and a cli…
在前一篇博客中我们讲到契约测试是什么,以及它能给我们软件交付带来什么价值,本次将介绍一个开源的契约测试框架Pact,它最初是用ruby语言实现的,后来被js,C#,java,go,python 等语言重写,此文将介绍Pact框架的相关知识并结合示例代码讲解在实际项目中应该怎么使用. Pact是什么? Pact是一个开源框架,最早是由澳洲最大的房地产信息提供商REA Group的开发者及咨询师们共同创造.REA Group的开发团队很早便在项目中使用了微服务架构,并在团队中对于敏捷和测试的重要性早…
一.简述一下spring-boot微框架 1.spring-boot微框架是什么? 大家都知道,在使用spring框架进行应用开发时需要很多*.xml的初始化配置文件,而springBoot就是用来简化新的Spring应用的初始搭建以及开发过程的微框架.该框架使用了自动设置的方式来进行配置,使开发人员不再需要定义样板化的配置,该框架可以方便前端开发任玥或者测试人员进行快速开发或者测试单元 2.spring官方介绍 官方springboot教程:http://projects.spring.io/…
前言 Compose是一个定义和运行多个Docker应用的工具,用一个YAML(dockder-compose.yml)文件就能配置我们的应用.然后用一个简单命令就能启动所有的服务.Compose编排Docker服务的优势是在单机测试场景,因为Compose的安装简单,开箱即用,yaml的定义也复用了Dockerfile的语法.但是集群中容器编排服务还是推荐K8S或者Mesos+Marathon这样的编排调度系统. 演示环境 $ uname -a Darwin Darwin Kernel Ver…
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.exception.site 小哈今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是小哈在工作中经常用到的,其中包括 Mysql, Redis, Elasticsearch, MongoDB 安装步骤, 通过几行命令秒秒钟就能轻松搞定. 友情提示:搭建之前,你需要先安装 Doc…
快速生成500W测试数据库: 创建测试表: DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(10) NOT NULL AUTO_INCREMENT, `uname` varchar(20) DEFAULT NULL COMMENT '账号', `pwd` varchar(20) DEFAULT NULL COMMENT '密码', `addr` varchar(80) DEFAULT NULL COMMENT '地址', `…
简介 使用场景 主要用于在微服务架构下做CDC(消费者驱动契约)测试.下图展示了多个微服务的调用,如果我们更改了一个模块要如何进行测试呢? 传统的两种测试思路 模拟生产环境部署所有的微服务,然后进行测试 优点 测试结果可信度高 缺点 测试成本太大,装一整套环境耗时,耗力,耗机器 Mock其他微服务做端到端的测试 优点 不用装整套产品了,测的也方便快捷 缺点 需要写很多服务的Mock,要维护一大堆不同版本用途的simulate(模拟器),同样耗时耗力 Spring Cloud Contrct解决思…
今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通过几行命令秒秒钟就能轻松搞定.友情提示:搭建之前,你需要先安装 Docker 哟,本文基于您已经安装好 Docker 的基础上!废话少说,正文开始! 一.镜像加速 Docker 默认是从官方镜像地址 Docker Hub 下下载镜像,由于服务器在国外的缘故,导致经常下载速度非常慢.为了提升镜像的下载…