使用JUnit5进行业务接口的单元测试

准备测试用例 无论是单元测试还是业务测试,无非就是输入一些数据,然后看输出的结果是否符合预期。符合预期的,那么意味着程序运行正常;不符合预期,则可能是程序存在问题。 数据格式&安全性校验用例 对于各个输入参数,通常会有提供该参数及不提供该参数 2 种用例。即必填、可选。 对于各个输入……

阅读全文

Linux使用find命令批量处理文件权限

使用 find 批量修改 sh 文件的权限 # 当前文件夹下所有文件设置为可执行 find . -name "*" -exec chmod +x {} \; # 当前文件夹下所有的 *.sh 文件设置为可执行 find . -name "*.sh" -exec chmod +x {} \;……

阅读全文

使用docker搭建easy-mock

官方镜像 https://hub.docker.com/r/easymock/easymock 目录结构 ➜ docker-compose git:(master) ✗ tree . └── easy-mock ├── docker-compose.yml └── production.json 1 directory, 2 files docker-compose.yml 内容 version: "3" services: mongodb: image: mongo:3.4.1 volumes: # ./data/db 数据库文件存放地址,根据需要修改为本地地址 - "./data/mongodb:/data/db" networks: - easy-mock restart: always redis: image: redis:4.0.6 command: redis-server --appendonly yes volumes: # ./data/redis redis 数据文件存放地址,根据需要修改为本地地址 - "./data/redis:/data" networks: - easy-mock restart: always web: image: easymock/easymock:1.6.0 command: /bin/bash -c "npm start" ports: - "7300:7300" volumes: # 日志地址,根据需要修改为本地地址 - "./logs:/home/easy-mock/easy-mock/logs"……

阅读全文

使用Dom4j配合xpath解析jmeter脚本文件

引入的依赖 <dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.1.3</version> </dependency> <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> <version>1.2.0</version> </dependency> 注意:使用 dom4j 配合 xpath 的时候,必须要引入 jaxen 依赖项,否则无法使用 xpath. 如果没有添加依赖的话,会报如下错误: 如果没有添加的话 会出现以下错误 * Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext * at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) * at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207) * at org.dom4j.tree.AbstractNode.selectSingleNode(AbstractNode.java:183) 解析 jmeter 脚本文件 jmeter 的脚本文件本质上是 xml 格式的文本文件。 重点使用的函数是selectNodes或……

阅读全文

使用picocli开发基于springboot的命令行工具

添加 maven 依赖 当你已经创建好 springboot 应用后,将 picocli 的依赖加入到 pom.xml 中 <dependency> <groupId>info.picocli</groupId> <artifactId>picocli-spring-boot-starter</artifactId> <version>4.6.3</version> </dependency> 修改 springboot 主程序 将你的 springboot 主程序修改为实现了ApplicationRunner接口,并将主程序命令定义为helper package top.yjp.testing; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import picocli.CommandLine; import top.yjp.testing.helper.cmd.DemoCommand; import javax.annotation.Resource; @SpringBootApplication(proxyBeanMethods = false) @Slf4j @CommandLine.Command( name = "helper", description = "自动化测试帮助程序 ", mixinStandardHelpOptions = true, version = "1.0.1", subcommands = {DemoCommand.class} )……

阅读全文

python好用的命令行开发工具库

全自动的 CLI 工具库 Fire https://github.com/google/python-fire click https://click.palletsprojects.com/en/8.1.x/ typer https://typer.tiangolo.com/ poetry 一个 python 打包工具 https://python-poetry.org/……

阅读全文

使用 mysqldump 命令备份 docker 中的 MYSQL 数据库

Docker 使用 mysqldump 命令备份导出 mysql 容器中的数据 查看 Docker 中运行的容器 [root@instance-0pk09gjj ~]# docker ps 使用 mysqldump 命令备份导出数据库中的所有表结构和数据 [root@instance-0pk09gjj home]# mkdir bak [root@instance-0pk09gjj /]# docker exec -it mysql01 mysqldump -uroot -proot demo > /home/bak/demo.sql 使用 mysqldump 只导出数据不导出表结构 [root@instance-0pk09gjj /]# docker exec -it mysql01 mysqldump --opt -t -uroot -proot demo > /home/bak/demo2.sql 使用 mysqldump 只导出表结构不导出数据 [root@instance-0pk09gjj /]# docker exec -it mysql01 mysqldump --opt -d -uroot -proot demo > /home/bak/demo1.sql 使用 mysqldump 导出特定表的结构 [root@instance-0pk09gjj /]# docker exec -it……

阅读全文

如何管理线上版本

对于已经上线的产品,如何查看相应的版本,以保证客户使用或测试过程中发现问题时能够及时根据产品的版本号定位出当时的环境,是个比较有意思的话题。 服务端产品 对于提供 http(s)服务的产品,可以使用……

阅读全文