wechatpay-apiv3 / wechatpay-go

微信支付 APIv3 的官方 Go Library
https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/index.shtml
Apache License 2.0
982 stars 140 forks source link

支持 Server Mock #217

Open snxq opened 3 months ago

snxq commented 3 months ago

修改 WechatPayAPIServer const -> var,支持 server mock。或者在离线环境有没有其他 mock 的方式?

core/consts/consts.go

// L9
const (
    WechatPayAPIServer = "https://api.mch.weixin.qq.com"
)
xhd2015 commented 2 months ago

@snxq mock测试可以使用 https://github.com/xhd2015/xgo, 在这个PR https://github.com/wechatpay-apiv3/wechatpay-go/pull/218 中我使用xgo替换了gomonkey进行单元测试的mock

snxq commented 2 months ago

@snxq mock测试可以使用 https://github.com/xhd2015/xgo, 在这个PR #218 中我使用xgo替换了gomonkey进行单元测试的mock

@xhd2015 想要模块测试联调时候的 mock,而不是单测打桩。0.0

xhd2015 commented 2 months ago

@snxq 哦,那你可以mock http.Client.Do,当你检测到url参数是wechat server的时候,将它替换为自定义的URL,可以参考https://github.com/xhd2015/xgo/blob/6d0b9575f1b682d155435640a137a3f541ddef82/runtime/test/mock_stdlib/mock_stdlib_test.go#L42