订单微服务功能测试
代码修改完成后,测试步骤是不能漏掉的。一定要验证项目是否能正常启动、接口是否能正常调用,防止在代码移动过程中出现一些小问题,导致项目无法启动或代码报错。在项目启动前需要分别启动 Nacos Server
和 Redis Server
,之后依次启动 newbee-mall-cloud-order-web
工程、newbee-mall-cloud-shop-cart-web
工程、newbee-mall-cloud-user-web
工程、newbee-mall-cloud-goods-web
工程下的主类(要测试网关功能,还需要再启动两个网关模块下的主类)。启动成功后,就可以进行本节的功能测试了。
打开用户微服务的 Swagger
页面,在浏览器中输入如下网址: http://localhost:29000/swagger-ui/index.html。
之后在该页面使用商城用户的登录接口获取一个 token
值,用于后续的功能测试。比如,笔者在测试时获取了一个值为 “c5b0a720e8068a186d9d3ff7ff3a28d8” 的 token
字段。
打开订单微服务的 Swagger
页面,在浏览器中输入如下网址: http://localhost:29040/swagger-ui/index.html。
接着,就可以在 Swagger
提供的 UI
页面进行订单微服务的接口测试了,接口文档显示内容如图 8-14 所示。

接口文档主要包括后台管理系统订单模块接口、新蜂商城个人地址相关接口和新蜂商城订单操作相关接口。由于篇幅有限,这里只对新蜂商城订单操作相关接口进行测试。
添加收货地址接口演示
下单时需要使用用户的收货地址信息,否则无法正确地生成订单数据。依次单击 “添加地址”、“Try it out” 按钮,在参数栏中输入收货地址的相关信息,在登录认证 token
的输入框中输入登录接口返回的 token
值,测试过程如图 8-15 所示。

单击 “Execute” 按钮,接口的测试结果如图 8-16 所示。

若后端接口的测试结果中有 “SUCCESS”,则表示收货地址信息添加成功。此时,再去订单微服务的数据库中查看收货地址表中的数据,可以看到已经新增了一条地址信息,该数据的主键 id
为 2164
,后续生成订单时会用到。
生成订单接口演示
依次单击 “生成订单接口”、“Try it out” 按钮,在参数栏中输入当前用户的地址 id
和需要结算的购物项 id
列表,这里输入的数据都是刚刚演示时生成的数据(地址 id
为 2164
,购物项 id
为购物车微服务实战章节生成的数据,分别是 7625
和 7626
)。在登录认证 token
的输入框中输入登录接口返回的 token
值,测试过程如图 8-17 所示。

单击 “Execute” 按钮,接口的测试结果如图 8-18 所示。
如果结算时提交的数据都正确,就可以得到一个订单生成后的订单号字段,该字段的值在响应对象 Result
的 data
字段中。比如,当前接口的测试结果获取了值为 “16629533442214515” 的订单号,之后就能够使用该订单号来测试取消订单、模拟支付、查看订单详情的接口了。
至此,生成订单接口测试成功。

订单列表接口演示
依次单击 “订单列表接口”、“Try it out” 按钮,在参数栏中输入页码和订单状态字段,在登录认证 token
的输入框中输入登录接口返回的 token
值,就可以查询当前用户的订单列表数据了,测试过程如图 8-19 所示。

单击 “Execute” 按钮,接口的测试结果如图 8-20 所示。

请求成功。订单列表中所需的数据在 Result
类的 data
属性中,其中有分页信息、订单列表数据,每条购物项中都包括订单号、订单状态、下单时间、订单中包含的商品等内容。
以上三个接口对应到实际的项目页面中,是新蜂商城项目的添加收货地址页面、订单确认页面和订单列表页面,显示效果如图 8-21 所示。
至此,下单流程中的部分功能就演示完成了,读者在测试时可以关注一下 MySQL 数据库中购物项表的变化。
功能测试完成且接口响应一切正常,表示订单微服务本身的功能编码完成,并且远程调用用户微服务、商品微服务、购物车微服务也一切正常。在测试时,读者也可以通过 debug
模式启动项目,打上几个断点来查看接口测试时的完整过程。由于篇幅有限,笔者这里只演示了部分接口的测试过程,读者在测试时可以查看其他接口。除在订单微服务架构项目的 Swagger
页面测试接口外,也可以通过商城端网关来访问这些接口进行功能测试。

本章主要讲解订单模块在微服务架构下的编码改造,在订单微服务开发完成后,本书实战项目已经完成了原单体商城项目中所有功能模块的开发与测试。当然,这不是终点,后续依然会补充一些必要的知识点。希望读者能够根据笔者提供的开发步骤顺利地完成本章的项目改造。