针对HTTP测试桩本质,则是接收参数并反回符合业务逻辑的参数
目前 最容易实现接口开发,则为使用SpringBoot开发
SpringBoot: 开发指南
测试桩开发注意点:
1.入参出参业务数据尽可能保存于数据库中,方便业务对帐等查询历史记录
2.测试桩开发也为接口开发,本质是方便接收参数及返回参数,针对接口参数校验可丢弃
3.测试桩返回参数应该设计为外部可调控
现在测试多采用自动化测试,不可能测试一条修改参数后重启测试桩再测一条,在自动化测试过程中使用测试桩就要考虑该情况
示例:
微信统一下单:
返回参数:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<mch_id><![CDATA[10000100]]></mch_id>
<nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
<openid><![CDATA[oUpF8uMuAJO_M2pxb1Q9zNjWeS6o]]></openid>
<sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
<prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id>
<trade_type><![CDATA[JSAPI]]></trade_type>
</xml>
在测试桩设计时 就要考虑 return_code参数为失败情况及sign签名问题
return_code为成功时
1)sign、mch_id、openid、prepay_id 、trade_type此必传参数未传或传的不为正常参数逻辑的参数
2)非必传参数 nonce_str
方案示例:
将参数保存于mysql中,每次请求都是通过读取mysql情况 来判断参数的返回
网友评论