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