我想编写单元测试来测试我的 Paypal Express Checkout 集成。
我在买家在 Paypal 屏幕中授权付款的步骤中遇到问题
有没有办法在我的测试代码中模拟这个动作?
我使用沙盒测试帐户
我想编写单元测试来测试我的 Paypal Express Checkout 集成。
我在买家在 Paypal 屏幕中授权付款的步骤中遇到问题
有没有办法在我的测试代码中模拟这个动作?
我使用沙盒测试帐户
由于 PayPal 的接口都是由 PayPal 控制的,为什么不简单地使用一个 mock,避免交互。这样,任何更改都将起作用,您的代码只需要知道如何发送第一个请求,并验证来自 PayPal 的返回,这一切都在 Mock 设置中。
如果您想进行实际测试,则可以遵循经典 API 的 Paypal Sandbox Instructions 。
此方法不适用于自动化单元测试,但在手动运行的测试中效果很好。
从 SetExpressCheckout 获得令牌后,创建一个新的 HttpListener,其地址与 SetExpressCheckout 中指定的“ReturnUrl”相同,并等待请求(同步)。使用 Process.Start 将浏览器指向 PayPal 身份验证屏幕,一旦付款被授权/取消,用户浏览器将被重定向到 HttpListener 的本地地址,然后您可以使用该地址获取令牌和 PayerID。