前言
在《MuleSoft自学分享-18.MUnit测试正常系(Test,Mock when,Assert that)》和《MuleSoft自学分享-19.MUnit测试异常系》我们对/getEmpInf的GET方法进行了正常系和异常系的测试。本次案例我们将对/getEmpInf的POST方法进行测试。大家可以先考虑一下怎么测试POST流程
- 首先Set Variable写入了员工编号,这是Mule Event的Payload中的信息,我们需要在Test中使用Set Event组件来模拟Mule Event。
- Request组件负责对后端发出请求,我们要使用Mock when来模拟后端返回值。
- 在Choice组件中负责筛选出满足条件的员工信息,Set Variable必须执行一次将信息写入Variable中,可以使用Verify call来进行计数。
- Set Payload负责负责将Variable中的值写入Payload,最终返回给前端。
Set Event
- 使用MUnit工具栏下的Set Event,将Set Event放到Execution中,Request之前。
- 写入Payload信息,选择Media Type值为application/json,选择Encoding值为UTF-8
{
"number": "12345678"
}
Mock when
- 使用Mock when模拟后端返回值,绑定employeeapi-sub下,employeeapi-Choice_Flow流中的Request组件。
- 写入Mock的返回值。
#[[
{
"eName": "zhangsan",
"eAge": "20",
"eSex": "man",
"cGroup": "afl",
"cTeam": "mulesoft",
"id": "12345678",
"state": "liaoning",
"email": "san.b.zhang@acc.com",
"city": "dalian",
"phone": "12345678901"
},
{
"eName": "lisan",
"eAge": "20",
"eSex": "man",
"cGroup": "afl",
"cTeam": "se",
"id": "12345679",
"state": "liaoning",
"email": "san.a.li@acc.com",
"city": "shenyang",
"phone": "12345678902"
},
{
"eName": "wangwu",
"eAge": "20",
"eSex": "woman",
"cGroup": "sap",
"cTeam": "sa",
"id": "12345680",
"state": "sichuan",
"email": "wu.a.wang@acc.com",
"city": "chengdu",
"phone": "12345678903"
}
]]
Assert That
- 设置期望值为
'{\n "number": "12345678",\n "name": "zhangsan",\n "age": "20",\n "sex": "man",\n "group": "afl",\n "team": "mulesoft",\n "contact": {\n "Email": "san.b.zhang@acc.com",\n "phone": "12345678901"\n },\n "address": {\n "state": "liaoning",\n "city": "dalian"\n }\n}'
Verify call
- 选择MUnit Tools工具栏下的verify call放到Validation中
- 绑定组件
- 设置执行次数
- 进行测试
测试覆盖率
- 查看测试覆盖率,点击Generate Report