TestDemo

Pytest 单元测试框架

泪湿孤枕 提交于 2020-08-04 19:50:15
1、pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效 2、安装 pytest pip install pytest 3、验证 pytest 是否安装成功 pip show pytest 4、使用 pytest 执行测试需要遵行的规则 .py 测试文件必须以 test_ 开头(或者以 _test 结尾) 测试类必须以 Test 开头,并且不能有 init 方法 测试方法必须以 test_ 开头 断言必须使用 assert,pytest 中没有自带的断言方法 5、实例讲解 demo1 demo1 发现结果中没有用例的执行打印结果   # test_demo.py import pytest def test_01(): print ( " test_01 " ) def test_02(): print ( " test_02 " ) def test_03(): print ( " test_03 " ) if __name__ == ' __main__ ' : pytest.main() # 结果如下 ============================= test session starts ============================= platform win32 -- Python 3.6.0, pytest

MongoDB学习(四) --- MongoDB 整合Spring Data

天涯浪子 提交于 2020-07-28 07:48:59
1、环境搭建 步骤一:修改pom文件,更新依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> 步骤二:修改yml文件,配置 mongo连接字符串 spring: data: mongodb: uri: mongodb://root:1234@localhost:27017/admin 步骤三:编写 JavaBean,配置文档对应集合 package com.tqyl.domain; import lombok.Data; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Field; /** * @author

CICD实现方法之二--Gitlab+Jenkins+K8S

安稳与你 提交于 2020-07-28 03:13:56
承接上篇文章: 上周发布了新的博客文章,CI实现方法之--Gitlab+Drone,有幸被51cto推荐到首页,在上次的文章中做了CI相说明与测试操作,在生产环境为了提高生产力,增加容错,避免人为误操作等,出现了CICD,对于CICD在此文章中再说明一次 随着DevOps的兴起,出现了持续集成(Continuous Integration)、持续交付(Continuous Delivery) 、持续部署(Continuous Deployment) 的新方法。 此次比之前增加了jenkins与k8s,k8s自不必多说,看官们应该都清楚,这里主要说明jenkins。 Jenkins是一款使用java语言开发的开源的自动化服务器。通过界面或者jenkinsfile告诉它执行什么任务,何时执行。理论上,我们可以让它执行任何任务,但是通常只应用于持续集成和持续交付。 一、测试前提条件 实验环境说明 测试主机:阿里云主机 操作系统:CentOS 7.7 测试主机配置:2C,8G 主机名 公网IP 内网IP ROLE PORT node1 39.104.17.55 172.16.0.101 k8s-master 6443 node2 39.104.61.142 172.16.0.100 k8s-node1 node3 39.104.70.121 172.16.0.99 k8s-node2

人像静态/动态贴纸特效算法实现

橙三吉。 提交于 2020-07-24 22:49:06
人像静态 / 动态贴纸特效几乎已经是所有图像视频处理类 / 直播类 app 的必需品了,这个功能看起来复杂,实际上很简单,本文将给大家做个详细的讲解。图玩智能科技为企业提供更优质更稳定的美颜产品及服务,欢迎随时咨询 www.toivan.com. 我们先来看一下两张效果图: 这两张效果图中, 我们可以看到一些可爱的圣诞帽贴纸和小鹿形象贴纸,在人脸区域,自动贴上不同的贴纸,便会生成很多有趣的特效,这也是大家爱不释手的原因。 我们从静态贴纸讲起,动态贴纸实际上是静态贴纸的循环播放而已。人像静态贴纸的鼻祖是 in app ,而后 FaceU 的动态贴纸风靡一时,现在静态 / 动态贴纸已经随处可见了。它的算法分为两个部分: 1. 人脸检测与关键点识别 所谓人像贴纸,第一步必然是人脸检测与关键点识别。在有人脸的情况下获取到必须的关键点,这样我们才能准确的打上贴纸。现有的 app 中,比如 FaceU 和轻颜相机,当然他们是一家的,他们的贴纸基本上都是数十个人脸特征点的模板配置,也就是说,完成一个贴纸效果,需要数十个点位信息的支持。不过,个人认为,最简单的贴纸,可以从三个点开始。 关于人脸特征点识别算法,相关的论文或者开源的代码工程,已经多如牛毛,这里我不一一例举,本人这里以 mtcnn 为例,因为本文算法只需要三个点即可。 mtcnn 在检测到人脸的情况下,会给我们提供 5 个特征点

Mybatis技术原理理——整体流程理解

蹲街弑〆低调 提交于 2020-05-07 19:44:33
前言:2018年,是最杂乱的一年!所以你看我的博客,是不是很空! 网上有很多关于Mybatis原理介绍的博文,这里介绍两篇我个人很推荐的博文 Mybatis3.4.x技术内幕 和 MyBaits源码分析 !让我找到了学习的入口,当然另外你必须要看的官方文档 MyBatis学习 。那么有了这些知识,就让我们愉快的吃鸡之路吧! 一:你首先得知道的知识点。 1.1 JDBC   在个人看来, Mybatis的核心就是对SQL语句的管理!那么在JAVA环境下,对SQL的管理或者其他任何的实现,肯定是离不开JAVA的数据库操作接口,包括Connrction接口、Statement接口、PreparadStatement接口以及ResultSet接口等等的属性,你可以先通过JDBC来操作一次或者更多次的数据库。这个就不多做赘述了! 1.2 动态代理   不知道你最初有没有和我一样,有这样的疑问。Mybatis的mapper层明明就是一个接口,都没有实现类!即使是在TMapper.xml中做了映射,也没有看到任何关于接口的实现类,那他是怎么被实例化的呢,又是怎么实现方法的功能的呢?动态代理会告诉你答案! 先来看看jdk动态代理的一个小例子: 建立一个实体 public class TestDemo { private Integer id; private String name; public

springcloud线上发布超时方案之终极杀招:预热(测试用例)

谁说我不能喝 提交于 2020-05-01 22:27:32
springcloud线上发布超时系列文章: springcloud线上发布超时之feign(ribbon饥饿加载) springcloud线上发布超时之grpc springcloud线上发布超时方案之终极杀招:预热(测试用例) 前言 经过上面两章的优化,超时报错有所减少,但是只是得到了缓解但是当流量切换时还是会有大量超时。 方案 这里又增加了一个启动后预热,即在程序启动后执行测试用例n次,让hystrix、web容器线程池等资源初始化。在测试用例执行完成之前,为了保证服务不对外提供服务,这里可以分两种。 延迟注册到注册中心 如果时使用注册中心来进行服务发现等,这里可以采用延迟注册来保证测试用例的成功执行, 如果时eureka为注册中心可以配置initial-instance-info-replication-interval-seconds参数,默认是40s,可以将其改为1分钟 如果是consul或者zk,可以修改响应的延时注册时间,或者修改服务端有效时间 kubernetes中增加服务ready延时时间 这里再deploy.yml中配置如下: spec: replicas: 1 template: spec: containers: - args: livenessProbe: failureThreshold: 5 httpGet: path: /health port:

属性“__attribute__”在Objective-C中的应用

断了今生、忘了曾经 提交于 2020-04-27 17:59:17
属性“__attribute__”在Objective-C中的应用 关于__attribute__,你可能用的不多,但是一定经常见到,在系统的Foundation框架中,__attribute__的使用非常频繁。首先,__attribute__用于在函数,变量或类型声明时进行特殊属性设置的编译器指令。需要注意,它是一种编译器指令,这也就表明了使用它我们可以做更高级的检查与优化功能。 __attribute__根据其修饰的场景不同可以分为3种类型,分别为函数属性,变量属性和类型属性。__attribute__的使用格式如下: __attribute__((属性列表)) 下面,我们来介绍几种常用的__attribute__属性。 1.format format用来对格式化字符串的参数使用情况进行检查,例如在使用NSLog函数进行输出时,如果我们传入的可变参数没有在格式化字符串中使用,编译器会提示警告,如下: 其实这个提示警告的功能就是借助__attribute__的format属性实现的,例如我们自定义一个LOG方法使其拥有相同的功能,如下: void MyLog(NSString *format, ...) __attribute__((format(__NSString__, 1, 2))); format属性有3个参数可以设置,其中第一个参数指定要检查的格式化风格

Java连接MySQL8.0以上版本数据库方式

耗尽温柔 提交于 2020-04-19 04:34:30
MySQL 8.0 开始数据库相比常用的 5.X 版本发生了比较大的变化,我们在连接数据库的过程中许多地方也要发生一些变化。 总结一下,想要利用 mysql-connector-java 与 MySQL 8.X 版本建立连接,有以下四个方面与 MySQL 5.X 版本相比发生了变化。 1、 MySQL 8.0 以上版本驱动包版本 mysql-connector-java-8.X.jar   MySQL 版本和 mysql-connector-java 版本对应关系如下,MySQL官方也是推荐使用 mysql-connector-java-8.X.jar 去连接 MySQL 8.0 的版本 Connector/J version Driver Type JDBC version MySQL Server version Status 5.1 4 3.0, 4.0, 4.1, 4.2 5.6*, 5.7*, 8.0* General availability 8.0 4 4.2 5.6, 5.7, 8.0 General availability. Recommended version    2、com.mysql.jdbc.Driver 更换为 com.mysql. cj .jdbc.Driver。 3、 MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显式关闭。  

python 自动化测试 pytest 的使用

╄→гoц情女王★ 提交于 2020-04-17 16:43:54
pytest 是一款以python为开发语言的第三方测试,主要特点如下: 比自带的 unittest 更简洁高效,兼容 unittest框架 支持参数化 可以更精确的控制要测试的测试用例 丰富的插件,已有300多个各种各样的插件,也可自定义扩展,如pytest-selenium、pytest-html、pytest-rerunfailures、pytes-xdish 可很好的和CI工具结合 安装 pip install pytest 测试用例编写规则 测试文件以test_开头 或者 _test结尾 测试类以Test开头,并且不能带有 init 方法 测试文件以 test_开头 断言使用基本的 assert 即可 pytest会递归查找当前目录及子目录下所有 以test_开始 或者 _test结尾的python脚本,执行其中符合规则的函数和方法,不需要显示调用 运行命令:(cmd进入用例所在目录) pytest folder_name ======》直接运行文件夹内符合规则的所有用例 pytest test_file.py ======》执行某个py文件中的用例 pytest test_file.py::test_func ======》执行模块内的某个函数(节点运行) pytest test_file.py::TestClass::test_method ======

python 自动化测试 pytest 的使用

混江龙づ霸主 提交于 2020-04-17 15:16:46
【推荐阅读】微服务还能火多久?>>> pytest 是一款以python为开发语言的第三方测试,主要特点如下: 比自带的 unittest 更简洁高效,兼容 unittest框架 支持参数化 可以更精确的控制要测试的测试用例 丰富的插件,已有300多个各种各样的插件,也可自定义扩展,如pytest-selenium、pytest-html、pytest-rerunfailures、pytes-xdish 可很好的和CI工具结合 安装 pip install pytest 测试用例编写规则 测试文件以test_开头 或者 _test结尾 测试类以Test开头,并且不能带有 init 方法 测试文件以 test_开头 断言使用基本的 assert 即可 pytest会递归查找当前目录及子目录下所有 以test_开始 或者 _test结尾的python脚本,执行其中符合规则的函数和方法,不需要显示调用 运行命令:(cmd进入用例所在目录) pytest folder_name ======》直接运行文件夹内符合规则的所有用例 pytest test_file.py ======》执行某个py文件中的用例 pytest test_file.py::test_func ======》执行模块内的某个函数(节点运行) pytest test_file.py::TestClass::test