Runner

Android_AndroidX简介&Junit4

好久不见. 提交于 2020-05-04 06:03:26
AndroidX简介: Android 9.0(API level 28)发布时, AndroidX也作为一个新的支持库 发布出来了。AndroidX时Jetpack的一部分,它包含了现有的支持库和最新的Jetpack组件。 AndroidX 与 Android 操作系统分开提供,并与各个 Android 版本向后兼容。 AndroidX 完全取代了支持库(android.support.v7或android.support.v4),不仅提供同等的功能,而且提供了新的库。所以对于使用AndroidX后,不需要因为使用v4还是v7库而烦恼了。 修改项目中的gradle.properties文件中将下面两个属性置为true就能完全使用AndroidX的库了。 android.useAndroidX :使用相应的 AndroidX 库,而非支持库 android.enableJetifier :重写其二进制文件,自动迁移现有的第三方库以使用 AndroidX 更多具体信息及如何使用请到android官网查看文档: https://developer.android.google.cn/jetpack/androidx Junit4: 这里简单记录分享下 背景:Android Studio中调试Room相关时碰到的问题(如 java.lang.ClassNotFoundException:

玩转Spring JUnit+mockito+powermock单元测试

最后都变了- 提交于 2020-05-02 20:16:34
Spring中执行单元测试,最麻烦的就是解决Bean的定义以及注入的问题。最开始使用Spring的上下文初始化进行测试,开头是这样的: @RunWith(SpringJUnit4ClassRunner. class ) @ContextConfiguration( "/config/Spring-db1.xml") 或者 @RunWith(SpringRunner. class ) // spring框架 @TestPropertySource(locations = "classpath:application-unittest-other.properties") // 配置文件 @ContextConfiguration( classes = TestServiceImplTest.MyConfiguration. class // 配置bean ) @TestConfiguration @ActiveProfiles( "unittest") // 激活对应配置文件 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) public class TestServiceImplTest { @Autowired TestApi testApi; // mock // ===

【杂谈】从实现角度看ChannelFuture

六月ゝ 毕业季﹏ 提交于 2020-05-02 10:08:48
JDK中的Future特性 在介绍Netty的ChannelFuture之前,我们先来看看JDK中的Future是如何实现的。总的来说就是任务提交的时候会使用装饰器模式,将任务包装成一个FutureTask。当执行器执行该Task的时候,不仅仅会执行用户提交的任务,还会执行装饰器添加的额外操作,例如在执行之前记录当前执行线程、执行完成后将任务结果保存在FutureTask对象内部等。 Thread runner => 装饰器添加的,在执行任务之前,会在对象内保存当前执行线程的引用,用于中断任务执行 Object outcome => 任务执行结果(返回值或异常对象),任务执行完成后会将结果set到此对象的outcome,后续可通过Future的get接口取出 Callable<V> callble => 用户提交的实际任务 WaitNode waiters => 用于保存等待线程,任务完成后会唤醒这些线程 详细请看本人过去整理的随笔: 揭开Future的神秘面纱——任务取消 揭开Future的神秘面纱——任务执行 揭开Future的神秘面纱——结果获取 Netty中的ChannelFuture ChannelFuture是在Future基础上的完善,它支持添加监听器,在任务完成后自动执行相关操作。 这个其实就是观察者模式,个人认为就是在前面的C部分添加监听的方法调用

二、如何使用postman做接口测试笔记(二)

◇◆丶佛笑我妖孽 提交于 2020-04-30 11:46:48
常用的接口测试工具主要有以下几种: Postman: 简单方便的接口调试工具,便于分享和协作。具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档, 接口监控等功能; JMeter: 开源接口测试及压测工具,支持Linux及无界面运行; LR: 商业版接口性能测试工具,简单易用,功能强大; SoupUI: 开源,WebService接口常用测试工具,也可以测试Rest接口及接口安全。 在上一篇笔记我们主要介绍了接口测试的基础知识,本章主要介绍如何使用postman做接口测试。 一 、postman 界面功能介绍 1、工具栏 New: 新建,可以新建Request请求,Collection请求集,环境等等 Import: 导入,可以导入别人导出的请求集 Runner: 运行一个请求集(批量执行) Invite: 邀请(需要注册,邀请进行协作) 同步图标: (需要注册,同步你的项目到云端) 抓包图标: 抓包/捕获请求,用于开启Postman代理, 手动设置代理(或手机代理)后可抓包/录制请求 设置图标: Postman设置功能 消息图标: 官方及协助消息 收藏图标: 我的收藏(需要注册) 云端图标: 用户云端数据(需要注册) 2、接口管理区 History: 请求历史记录,可以查询到之前的请求记录 Collections: 接口集

Java高级特性 第11节 JUnit 3.x和JUnit 4.x测试框架

点点圈 提交于 2020-04-30 03:21:29
一、软件测试   1.软件测试的概念及分类   软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度 、完全度和质量的软件过程。   软件测试过程:       2.软件测试的分类   按是否关心软件内部结构和具体实现角度来分: 黑盒测试(Black-box Testing)   黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。 白盒测试(White-box Testing)   白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒指的打开盒子,去研究里面的源代码和程序结果。 灰盒测试(Gray-Box Testing)   灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。   从软件开发过程的阶段,可分为: 单元测试(Unit Testing)   单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。Findyou又称为模块测试 测试阶段:编码后 测试对象:最小模块 测试人员:白盒测试工程师或开发工程师

Mac上利用VScode配置c/c++开发环境

北城以北 提交于 2020-04-28 04:41:16
Mac上利用VScode配置c/c++开发环境 哭辽,Typora里面最好不要插入表情,不然保存会闪退 首先你要有一个vscode 在扩展里面下载c/c++ 第一步 ⬆+com+p 打开命令模式:选择c/c++: 编辑配置(edit configuration) 然后再自动生成的.vscode目录,打开c_cpp_properties.json。利用老哥的文件示例: { "configurations": [ { "name": "Mac", "includePath": [ "${workspaceFolder}/**", "/Library/Developer/CommandLineTools/usr/include/c++/v1", "/usr/local/include", "/Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/include", "/Library/Developer/CommandLineTools/usr/include" ], "defines": [], "macFrameworkPath": [ "/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks", "/System

15、基于consul+consul-template+registrator+nginx实现自动服务发现

无人久伴 提交于 2020-04-28 03:33:07
一、架构图 二、组件介绍 1、Registrator Registrator:一个由Go语言编写的,针对docker使用的,通过检查本机容器进程在线或者停止运行状态,去注册服务的工具。所以我们要做的实验,所有的工具都是在docker上运行的,就是因为registrator是通过检查docker容器的状态来判断服务状态的,这样就和我们的代码实现完全解耦了,对上层透明化,无感知。它有如下特点 通过docker socket直接监听容器event,根据容器启动/停止等event来注册/注销服务 每个容器的每个exposed端口对应不同的服务 支持可插拔的registry backend,默认支持Consul, etcd and SkyDNS 自身也是docker化的,可以容器方式启动 用户可自定义配置,如服务TTL(time-to-live)、服务名称、服务tag等 2、consul Consul在这里用来做 docker 实例的注册与配置共享。 特点: 一致性协议采用 Raft 算法,比Paxos算法好用. 使用 GOSSIP 协议管理成员和广播消息, 并且支持 ACL 访问控制. 支持多数据中心以避免单点故障,内外网的服务采用不同的端口进行监听。而其部署则需要考虑网络延迟, 分片等情况等.zookeeper 和 etcd 均不提供多数据中心功能的支持. 健康检查. etcd 没有的.

Python+unittest发送测试报告

烈酒焚心 提交于 2020-04-28 03:20:05
案例 : 将E:\Python_script\unittest\Test_Baidu生成的最新测试报告发送到指定邮箱。 我们将之前的unittest的报告生成和Python自动发送邮件结合在一起,就可以完成自动发送最新报告到指定邮箱的操作。 代码示例: runtest_email.py import unittest from BSTestRunner import BSTestRunner import time import smtplib # 发送邮件模块 from email.mime.text import MIMEText # 定义邮件内容 from email.header import Header # 定义邮件标题 import os def send_mail(latest_report): f = open(latest_report, ' rb ' ) mail_content = f.read() f.close() smtpserver = ' smtp.163.com ' # 发送邮箱用户名密码 user = ' nancyrm2018@163.com ' password = ' 输入自己的密码 ' # 发送和接收邮箱 sender = ' nancyrm2018@163.com ' receivers = [ ' nancyrm2018@126

Python+Selenium 自动化测试获取测试报告内容并发送邮件

旧城冷巷雨未停 提交于 2020-04-28 03:19:47
这里封装一个send_mail()方法,用于测试完成后读取测试报告内容,并将报告内容通过邮件发送到接收人 SMTP:Simple Mail Transfer Protocol,简单邮件传输协议 1 # coding: utf-8 2 3 import smtplib                             # 导入smtplib模块 4 from email.mime.text import MIMEText 5 from email.header import Header 6 from .logger import * 7 8 9 def send_email(test_report): 10 11 with open(test_report, ' r ' , encoding= ' utf-8 ' ) as f: 12 mail_body = f.read() # 打开测试报告,读取报告内容作为邮件内容 13 sender = ' *********@***.com ' # 发出邮箱 14 receiver = [ ' ******@***.com ' , ' *******@**.com ' ] # 接收邮箱 15 mail_server = ' smtp.139.com ' # 邮箱服务地址,这里以139邮箱为例 16 subject = '

生成html报告并整合自动发动邮件功能

为君一笑 提交于 2020-04-28 03:19:34
from HTMLTestRunner import HTMLTestRunner from email.mime.text import MIMEText from email.header import Header import smtplib import unittest import time import os #---------定义发送邮件--------------# def send_mail(file_new): f = open(file_new , 'rb') mail_body = f.read() f.close() # 发送邮箱服务器 smtpserver = 'smtp.163.com' # 发送邮箱用户/密码 user = 'dashu10_0@163.com' password = 'ren313123' # 发送邮箱 sender = 'dashu10_0@163.com' # 接收邮箱 receiver = '568330959@qq.com' , 'dehom_123@163.com' #receiver = 'dehom_123@163.com' # msg = MIMEText(mail_body, 'html', 'utf-8') msg = MIMEText(mail_body , _subtype = 'html' ,