1.安装插件
采用idea中的HTTP Client插件进行接口测试,好处是不用打开post/swagger等多个软件,并且可以保存测试时的参数,方便后续继续使用.
高版本(2020版本以上)的idea一般都自带这个插件,如果没有也可以单独安装.
2.使用
插件安装完成(或者如果idea自带插件),会在每个Controller下的方法的xxxMapping后面显示一个球形标志
点击这个标志,并选择Generate request in HTTP Client,就会跳转到编写测试文件的generated-requests.http文件中.
3.编写测试文件
在generated-requests.http文件中编写对应的测试文件,如果返回的是JSON格式,需要添加Content-
Type: application/json
###查询课程信息
POST http://localhost:63040/content/course/list?pageNo=1&pageSize=2
Content-Type: application/json
{
"auditStatus": "202004",
"courseName": "java",
"publishStatus": ""
}
需要注意json数据的大括号和前面的数据要空一行;
4.测试,报错及解决
启动程序,在点击测试,发现报500的错误,如下图:
而在使用swagger测试,能正常查询到结果
就尝试着在maven中把工程中的target全部清理掉,在重写install,发现api模块,也就是这个测试的模块无法正常安装,并报错:
Public Key Retrieval is not allowed
解决办法:在连接数据库的配置文件中加上&allowPublicKeyRetrieval=true语句,如下:
&allowPublicKeyRetrieval=true
再重新启动程序,可以使用HTTP Client插件正常测试了
错误复现:
把数据库配置文件刚才添加的参数删除
发现仍然可以使用HTTP Client进行测试,复现失败,暂且几下,后面如果再出现相同情况再回来解决.
5.保存测试文件
将测试文件保存下来,方便下次测试时复用
在父工程下新建一个文件夹,在文件夹里边新建文件,文件的类型都是.http,再将测试内容复制到相应的http文件中,就完成了测试文件的保存.
6.配置动态地址
为了方便将来和网关集成测试,这里我们把测试主机地址在配置文件http-client.env.json 中配置
注意:文件名称http-client.env.json保持一致,否则无法读取dev环境变量的内容。
再回到xc-content-api.http文件,将http://localhost:63040 用变量代替
到此就完成了httpclient的配置与使用测试。