西汉帝国双璧卫青与霍去病的后代们结局如何?现实出人意料
6337 2025-05-22 15:44:49
目录
前言
1、单元测试
2、接口测试
knife4j是什么?
与Spring Boot版本兼容性
使用步骤:
常用注解
项目示例
API测试
3、并发测试
前言
Java测试作为软件开发过程中非常重要的一个环节,在不同阶段进行测试能够帮助我们及时发现和解决问题,保证软件质量和稳定性。因此,学习掌握一些广泛使用的测试方法可以帮助开发人员在开发阶段解决代码中的问题。常见的Java测试方法有:单元测试、接口测试(swagger)、并发测试(jmeter)等。
1、单元测试
单元测试是针对项目中的具体单元(类、方法等)进行测试。它能够提前发现代码运行中的错误,同时也是确保修改代码后没有破坏原有功能的有效方法。通常使用JUnit等测试框架进行单元测试。
具体步骤:
(1)在pom.xml文件中引入单元测试依赖,junit和spring-boot-starter-test
(2)创建单元测试用例 create test
(3)验证测试结果 run test
2、接口测试
在前后端分离开发模式中,api文档是开发人员最好的沟通方式。一般常用到的测试工具有swagger、postman和knife4j等。接口测试具有及时性、规范性、一致性和可测性的特性。
这里主要介绍swagger2(knife4j):
knife4j是什么?
Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案,能够帮助开发者快速聚合使用OpenAPI规范。
与Spring Boot版本兼容性
版本参考网址:Knife4j版本参考 | Knife4j
使用步骤:
引入依赖
配置yml文件
knife4j:
enable: true
常用注解
在返回对象上使用,如HttpResp类
序列注解作用1@ApiModel用对象来接收参数2@ApiModelProperty用对象接收参数时,描述对象的一个字段
在Controller类和方法上使用
序列注解作用1@Api(tags = “Knife4jController接口类”)2@Api修饰整个类,描述api(Controller)的作用3@ApiOperation描述一个类的一个方法,或者说一个接口4@ApiImplicitParam多个请求参数的描述信息5@ApiImplicitParam(name = “name”,value=”请求的名称”,required = true)单个参数的描述信息6@ApiIgnore使用该注解忽略这个API7@ApiError发生错误返回的信息
其中,注解@ApiImplicitParam的相关属性信息如下
序列属性值作用1paramType查询参数类型path以地址形式提交数据query直接跟参数完成映射赋值body以流的形式提交 仅支持POSTheader参数在request headers里面提交form以form表单的形式提交,仅支持POST2dataType参数的数据类型 只为标志说明 并没有实际验证LongString3name接收参数名4value接收参数的意义描述5required参数是否必填true必填false非必填6defaultValue默认值
项目示例
API测试
http://localhost:配置的端口地址/doc.html
下载查看离线文档
3、并发测试
下载安装jmeter文件,打开:
添加线程组和线程数 ➡ 添加取样器和监听器
启动项目,启动线程组请求,查看结果
数据一致性问题,即不能出现多个重复的结果!
解决办法
可以在方法上+synchronized 来保证线程安全,但是会导致效率下降的问题。
——————————————————————————————————
感谢阅读,码字不易,多谢点赞!如有不当之处,欢迎反馈指出,感谢!