通常我会在trunk上开发我的网站,然后将更改合并到测试分支,将其放在“测试版”网站上,然后最终将它们合并到一个实时分支上并放到实时网站上。
使用Facebook应用程序时,事情有点棘手。由于您无法通过普通的网络浏览器查看Facebook应用程序(它必须通过Facebook服务器),您无法轻松地为每个开发人员提供他们自己的网站版本以供使用和测试。
我还没有看到任何关于开发和测试Facebook应用程序的最佳方式,同时继续拥有一个用户可以使用的稳定的实时网站。我的问题是,组织开发和测试Facebook应用程序的最佳实践是什么?
答案 0 :(得分:22)
尝试使用条目更新您的主机文件(for windows users @ c:\windows\System32\Drivers\etc\hosts)
,该条目会将您的实时域中的所有请求发送回您的计算机。
所以127.0.0.1 mywebappthatusesfacebook.com.
然后确保您的应用在网络服务器的根目录下运行。 @ http://localhost/然后在浏览器中转到mywebappthatusesfacebook.com,它应该重定向到您的本地计算机。 Facebook不会知道其中的差异。希望这有帮助
答案 1 :(得分:14)
我和我的合作伙伴这样做的方式是我们每个人都制作了自己的私人Facebook应用程序,这些应用程序指向了我们处理它的IP地址。由于我们在同一个地方工作,我们每个人都选择了一个不同的端口,并让我们的路由器将该端口转发到我们的本地IP地址。刷新页面有点慢,但效果非常好。
答案 2 :(得分:6)
您必须将中继和测试版本添加为不同的应用程序,并使用test accounts对其进行测试。您也可以使用单个应用程序并在周期之间切换目标URL。
答案 3 :(得分:5)
测试FB应用程序仍然是一个相当原始的过程。
我通常设置一个测试应用程序,它是FB开发环境中使用SSH隧道指向我的开发服务器的生产设置的完整副本。您可以在FB中设置任意数量的应用程序 - 我通常有一个开发应用程序,一个临时应用程序和生产。暂存和生产都在“实时”服务器而不是SSH隧道上。
在您的应用程序中,您可以使用您可以使用的任何语言/框架/服务器工具来根据服务器切换FB配置。在Rails中,Facebooker gem实际上内置了对不同FB配置的支持。
一旦完成所有这些,不幸的是,测试仍然是在FB本身内运行应用程序的问题。我使用Selenium尽可能地自动化。
答案 4 :(得分:4)
最好的方法:
从“基本信息”中删除“App Domain”
将网站的“网站网址”设置为:“http:// localhost /”。
那很简单。
(仅当您没有与测试环境并行运行的实时系统时才适用。在这种情况下,请自己获取另一个密钥。)
答案 5 :(得分:1)
我们的设置很像托比。每个开发人员的一系列配置文件,包含Facebook APP Id信息(每个开发人员的不同应用程序),托管应用程序的单独页面,git忽略配置文件。我们使用Code Igniter进行LAMP,它与Rails类似,因为我们可以将环境设置为1个文件,该文件指向具有Facebook常量的配置。
使用单元测试进行模型测试,扩展到Selenium。
答案 6 :(得分:1)
对于本地测试,我们只使用与服务器不同的应用程序。在我们的例子中,Canvas-URL设置为localhost.local:8000。
您只需确保在使用facebook连接时将localhost.local输入到浏览器的地址字段而不仅仅是localhost。
对于测试画布或标签应用,如果您使用Firefox的“在新标签中打开iframe”命令,则会更快。这样就可以保留来自Facebook的会话和cookie。
答案 7 :(得分:0)
另一个解决方案是NGROK
它会打开一个到您本地应用程序的公共隧道
只需输入
即可在我的rails应用程序上进行示例./ngrok 3000
我得到了
http://630066fe.ngrok.com -> 127.0.0.1:3000