使用Rails测试PayPal

8
我需要测试我的应用程序与PayPal的新集成。在开发环境中,我使用PayPal沙盒。
为了测试整个接口,我想到ngrok可能可以解决PayPal的消息问题。
我通过apt-get install ngrok-client在我的新Ubuntu 16.04安装中安装了ngrok。
当我尝试运行它(ngrok 3000ngrok 80)时,我收到以下错误:
Invalid address server_addr 'ngrokd.ngrok.com:443': lookup ngrokd.ngrok.com: no such host

有什么想法吗?
还有其他测试PayPal集成的解决方案吗?

==================== 编辑 ==================

非常重要 - 如果您使用Rails 4.2.0,请查看这个教程,它可能会为您节省一些沮丧的时间:
https://www.youtube.com/watch?v=YXKNxEv35HU


1
我建议你在测试中完全不要使用PayPal。而是将方法存根化,而不是实际调用任何东西。然后再复制你期望从PayPal得到的各种响应。否则你所测试的就是PayPal的API。 - user483040
自动化单元测试的好建议,但我感觉OP只是手动练习代码路径,而ngrok非常适合这种情况。 - johncip
3个回答

19

在放置ngrok可执行文件的目录中尝试运行./ngrok http 3000


4
whereis ngrok 的返回结果是 /usr/bin/ngrok。当我尝试你建议的方法时,出现了错误消息 You may only specify one port to tunnel to on the command line, got 2: [http 3000]。只使用 3000 也会出现相同的错误。 - guyaloni
2
请尝试使用https://ngrok.com/并下载您的操作系统可执行文件并将其放入主目录中,然后通过终端在主目录中运行我告诉您的命令。这种方式长期以来一直对我有效。 - Subhash Chandra
1
谢谢,现在我可以管理启动ngrok服务器了。但是现在我又有一个问题——我在我的应用程序中使用子域,并且ngrok告诉我“只有付费计划才能绑定自定义子域名”... :-( - guyaloni
嗯,看起来那是ngrok唯一的收入来源,但是暂时为了测试PayPal,你可以从ngrok网址而不是子域名进行测试。 - Subhash Chandra

8
我在Ubuntu 14上尝试使用apt-get安装ngrok时遇到了这个问题。由于ngrok 1.x的服务在2016年4月停止运行,因此打包版本(1.6)不再适用。

ngrok 1.X服务已关闭,鼓励所有用户升级到ngrok 2.0。

继续使用ngrok的最简单方法是升级到2.0。ngrok 2.0已经推出近一年,并且是更快、更稳定和更强大的工具。我希望您会喜欢它甚至比原来更好。

不幸的是,Ubuntu 16还提供了ngrok 1.6。
可以在ngrok.com下载当前可用的版本2.1.3,它可以正常工作。ngrok是单个可执行文件,所以您只需要解压并将其放在PATH中的某个位置即可完成安装。

4
我想你是用以下命令从软件包管理器安装了ngrok:

我想你是用以下命令从软件包管理器安装了ngrok:

$ sudo apt-get install ngrok-client

但是它不再可用,因为它是1.6版本。

你需要在官方页面上下载新版本。然后你可以像这样运行它:

$ ./ngrok http 3000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接