41

通常我在主干上开发我的网站,然后将更改合并到测试分支,然后将它们放在“测试版”网站上,最后将它们合并到实时分支上并放到实时网站上。

对于 Facebook 应用程序,事情有点棘手。由于您无法通过普通的 Web 浏览器查看 Facebook 应用程序(它必须通过 Facebook 服务器),因此您无法轻松地为每个开发人员提供他们自己的网站版本来使用和测试。

我没有遇到任何关于开发和测试 Facebook 应用程序同时继续拥有用户可以使用的稳定实时网站的最佳方式的任何信息。我的问题是,组织 Facebook 应用程序的开发和测试的最佳实践是什么?

4

8 回答 8

22

尝试(for windows users @ c:\windows\System32\Drivers\etc\hosts) 使用一个条目来更新您的主机文件,该条目会将来自您的活动域的所有请求路由回您的计算机。

所以 127.0.0.1 mywebappthatusesfacebook.com.

然后确保您的应用程序在您的网络服务器的根目录下运行。@ http://localhost/ 然后在您的浏览器中转到 mywebappthatusesfacebook.com,它应该会重定向回您的本地计算机。Facebook 不会知道其中的区别。希望这可以帮助

于 2009-01-15T00:22:05.720 回答
14

我和我的合作伙伴这样做的方式是我们每个人都制作了自己的私人 Facebook 应用程序,该应用程序指向我们在其中工作的 IP 地址。由于我们在同一个地方工作,我们每个人都选择了一个不同的端口,并让我们的路由器将该端口转发到我们的本地 IP 地址。刷新页面有点慢,但效果很好。

于 2008-09-02T13:12:55.867 回答
6

您必须将主干版本和测试版本都添加为不同的应用程序,并使用测试帐户对其进行测试。您还可以使用单个应用程序并在循环之间切换其目标 URL。

于 2008-09-02T13:25:15.760 回答
5

测试 FB 应用程序仍然是一个相当原始的过程。

我通常会设置一个测试应用程序,它是 FB 开发环境中生产设置的完整副本,它使用 SSH 隧道指向我的开发服务器。您可以在 FB 中根据需要设置任意数量的应用程序——我通常有一个开发应用程序、一个暂存应用程序和生产应用程序。暂存和生产都在“实时”服务器上,而不是 SSH 隧道。

然后,在您的应用程序中,您可以使用任何可用的语言/框架/服务器工具来切换基于服务器的 FB 配置。在 Rails 中,Facebooker gem 实际上已经内置了对不同 FB 配置的支持。

一旦完成所有这些,不幸的是,测试仍然是在 FB 本身中运行应用程序的问题。我使用 Selenium 来尽可能多地自动化这些工作。

于 2008-09-21T10:28:18.197 回答
4

最好的方法:

从“基本信息”中删除“应用程序域”

将网站的“站点 URL”设置为:“http://localhost/”。

就这么简单。

(这仅适用于您没有与测试环境并行运行的实时系统。在这种情况下,为自己获取另一个密钥。)

于 2012-04-24T12:07:37.143 回答
1

我们的设置很像 Toby。每个开发人员的一系列配置文件,其中包含 Facebook APP Id 信息(每个开发人员的不同应用程序),托管应用程序的单独页面,git 忽略配置文件。我们是带有 Code Igniter 的 LAMP,它与 Rails 类似,我们可以在 1 个文件中设置环境,该文件指向带有 Facebook 常量的配置。

扩展到 Selenium,使用单元测试进行模型测试。

于 2011-07-05T19:18:54.783 回答
1

对于本地测试,我们只需使用与服务器不同的应用程序。在我们的例子中,Canvas-URL 设置为 localhost.local:8000。

您只需确保在使用 facebook connect 时将 localhost.local 输入到浏览器的地址字段中,而不仅仅是 localhost。

对于测试画布或标签应用程序,如果您使用 Firefox 的“在新标签中打开 iframe”命令,速度会更快。这样,来自 Facebook 的会话和 cookie 将被保留。

于 2011-10-12T18:34:39.173 回答
0

另一个解决方案是 NGROK

https://ngrok.com/

它打开了一条通往本地应用程序的公共隧道

我的 Rails 应用程序示例,只需键入

./ngrok 3000

我明白了

http://630066fe.ngrok.com -> 127.0.0.1:3000 
于 2014-08-06T08:00:07.307 回答