【苍穹外卖】(截至day2)所使用到的IDEA使用技巧和测试流程
IDEA使用技巧1.如何在IDEA中跳转到函数正确定义位置鼠标选中当前函数如以下employeeService.login()函数然后CtrlAltb这里的b就是指键盘上的字母B键/AltEnter常用于代码补齐看到报错时使用AltEnter可跳转到你要补齐的代码的相应位置即可跳转到相应的java文件。若是按住Ctrl再点击则会跳转到接口文件正确跳转结果跳转到实现文件错误跳转结果以下是按住Ctrl然后点击login函数而跳转到的结果跳转到的是接口文件2.TODO注释的使用说明若有尚未完成或仍需改进的地方可将该处注释打成//TODO ....这样开头的IDEA中有个搜索功能可直接搜索到以TODO开头的注释位置左上角横着3点点击后即可看到TODO3.自动补齐已定义好的函数的返回值类型和变量名例我现在想引用page.getResult()方法但又不想点开getRusult()的定义来查看它的返回值类型这样太过麻烦可在后面再加个.var即在想定义代码的位置上打上page.getResult.var一打完这个语句将会自动补齐点击Enter键接受即可若自动补充的返回结果的变量名不是你想要的点击Enter接受完后直接在上面修改即可YApi的官网打不开可以去https://yapi.pro/试试不行就用Apifox吧好用接口测试测试前都要在IDEA的WebMvConfiguration.java文件中添加下图所示的相应语句用来生成接口文档以下介绍3种测试方法1.通过Swagger测试文档输入样例来测试在IDEA启动好项目后于浏览器网址输入框中输入localhost:8080/doc.html此为接口文档的网址跳转到下图所示界面此处能看到这里相应的标题都是在刚刚IDEA中添加的语句中有设置的点击相应的想要测试的地方点击此处对应页面的【调试】填好参数后记得将IDEA中文件开始运行待后端正式开启后再点击下面的“发送”点击“发送”后出现相应的响应结果从而看这个端口是否通过测试IDEA的运行终端也有相应输出此处因为主包之前还发送了一次所以图中是有两次的记录2.前后端联调用于前端页面建立好的基础上此处以测试添加员工效果为例打开前端页面网址http://localhost:80用初始账号登录点击【员工管理】——右上角【添加员工】以测试此时添加员工代码效果输出相应信息并点击【保存】看到“添加成功”的弹窗显示并可在IDEA终端输出中查看到插入的信息状况对应数据库也有新增的这条信息成功添加3.使用Apifox来写测试用例具体写测试用例教程可见官方文档https://docs.apifox.com/7227782m0原理解析1.因为当前设置了Jwt校验对于/admin开头的请求都会进行token的验证token具体验证流程见com.sky.interceptor.JwtTokenUserInterceptor文件。运用前后端级联的测试方法可不用考虑这方面的问题是因为前端有配置请求拦截器可在发请求前自动插入令牌具体实现以下流程登录成功后前端会把后端返回的 token 保存在浏览器本地localStorage后续每一次发起接口请求拦截器都会自动从本地取出 token加到请求头里字段名和后端配置一致管理端默认字段名为token请求到达后端时请求头里已经带了合法令牌自然能通过 JWT 校验不会返回 401。这个过程是前端框架自动完成的在页面上操作时感知不到但每次请求都会自动携带了令牌从而使请求通过验证2.而对于Apifox等外部工具不会自动添加身份凭证。故当/admin/**的请求到达后端进入后端的JwtTokenAdminInterceptor拦截器负责校验请求中的令牌。从请求头里取不到 token解析令牌直接抛出异常拦截器设置 401 状态码并拦截请求。3.解决方法在使用Apifox等外部工具的测试数据时添加当前token的请求头。为什么帖主不用前后端级联这个更简单的方法呢因为简历需要成果数据化Apifox可以看到每个端口反映的具体时间而前后端级联不行。实际操作示例下面以测试营业额统计接口为例1.先调用管理端登录接口拿到当前有效的token点击右边三点然后点击“测试数据”设置你的测试数据的变量列名此处我选择的是手动输入测试数据也有批量导入和导出功能但本人尚未尝试过。这里仅演示手动输入然后点击右下角的保存。将鼠标在该测试用例停留一会儿会出现如下图所示的运行黑框点击“运行”但其实通过表格的方式来配置测试数据这里运行后是显示错误的不知道问题出在哪里。可以直接点击这个测试用例然后直接在参数的地方输入测试数据。帖主暂时还不知道问题在哪里后续知道怎么解决了便会更新至该帖中查看返回的响应得到当前有效的token2.同理在营业额统计接口处新建一个测试用例仅起名一个标题即可然后点击该测试用例点击Headers将参数名和参数值分别设置为token和刚刚获取到的token的具体值然后记得保存。不然就会报401身份未认证报错3.此时即可测试通过访问到数据额外调整Jwt有效时长和相关密钥application.yml更具体详细的数据application-dev.yml一些注意事项1.只有当IDEA上的SkyApplication.java在运行时页面才能进行登录/退出/测试等一系列操作不然页面没反应【持续更新中】