实操 - demo
1. 场景一(更改响应数据)
根据电力账号,包含十个2(2222222222)的请求数据,mock掉响应数据的 responseCode
1.1. 生效配置
APP联动的展示效果:
1.2. 代码获取数据
类绝对路径:
com.transsnet.palmpay.payroute.controller.trans.ElectricityController
电力账号校验方法名:
queryAccount
返回结构参数:
com.transsnet.palmpay.common.RespResult<com.transsnet.palmpay.payroute.dto.electricity.ElectricityAccountResponse>
pay-route请求体结构:
{
/**
* accountNumber,maybe meterNumber
*/
private String accountNumber;
private String mobileNo;
private String itemId;
private String billerId;
private ElectricityPaymentItemEnum paymentItem;
}
响应结构体:
{
// todo
@ApiModelProperty("responseCode,Temporary Deleted at a later stage")
private String responseCode;
// todo
@ApiModelProperty("responseMessage,Temporary Deleted at a later stage")
private String responseMessage;
@ApiModelProperty("palmpayCode")
private String palmpayCode;
private TransactionChannel channel;
@ApiModelProperty("user selects payment item")
private ElectricityPaymentItemEnum paymentItem;
@ApiModelProperty("Actual mode of payment item")
private ElectricityPaymentItemEnum actualPaymentItem;
private Boolean valid = false;
@ApiModelProperty("account number")
private String accountNumber;
@ApiModelProperty("account name")
private String accountName;
@ApiModelProperty("account address")
private String address;
@ApiModelProperty("debt amount,unit:cent 分")
private Long debtAmount;
@ApiModelProperty("Minimum contribution amount,unit:cent 分")
private Long minAmount;
@ApiModelProperty("Maximum contribution amount,unit:cent 分")
private Long maxAmount;
private String extend;
}
pay-route正常响应数据:
{
"respCode": "00000000",
"respMsg": "success",
"data": {
"responseCode": "palmpay_test_021",
"responseMessage": null,
"palmpayCode": "xx",
"channel": "QUICKTELLER",
"paymentItem": "xx",
"actualPaymentItem": "xx",
"valid": true,
"accountNumber": "22222",
"accountName": "2sjdhasohdlkashdkajsdkasjdsajdksajdaksjdkasjdalksjdaksdjaksjdaksjdaksjdalksjfkheflknkfjakjfksljflksjfalkjfalksf",
"address": null,
"debtAmount": null,
"minAmount": 10000,
"maxAmount": null,
"extend": null
}
}
2. 场景二(延时)
mock 20秒时延(超时 10 秒)
配置单位:ms
配置链接:PalmPay Devops
3. 可能碰到的问题记录(未走到mock)
Apollo没有配置电力的对应item,导致查询账号的响应为空(渠道不会去校验账号),最终导致没有mock生效。
apollo(airtiem服务)里面单独配置一下的 ng.electricity.postPayItemIds ng.electricity.prePayItemIds
否则不调用渠道
欢迎关注公众号,与Joker一起探索测试之道。