有没有办法在测试中途改变Rails环境?或者,或者,在一个环境中设置可以启动Rails的测试套件的正确方法是什么,在其中运行我的测试的前半部分,然后在另一个环境中重新启动Rails以完成测试?这两个环境有不同的数据库。
一些必要的上下文:我正在编写一个Rails插件,允许多个Rails应用程序安装在用户帮助下相互通信,这样没有Internet访问权限的用户仍然可以使用该应用程序。他们将运行应用程序的本地版本,并通过将文件保存到thumbdrive并将其上传到网吧来将他们的工作上传到在线应用程序。
该插件为Rails增加了两个特殊环境:“离线生产”和“离线测试”。我想编写涉及“测试”和“离线测试”环境的功能测试,分别代表应用程序的主要在线版本和应用程序的本地离线版本。
编辑:我一直在阅读Rack :: Test,看起来它可能是要走的路,因为它将测试框架置于rails本身之外。但我仍然不知道如何使用它来进行涉及多个环境的测试。任何想法,任何人?
答案 0 :(得分:1)
从拥有多个数据库连接的角度考虑问题,而不是拥有多个环境?你无法在一定程度上切换环境,至少没有大量的黑客攻击和搞砸事情。 :)
http://anandmuranal.wordpress.com/2007/08/23/multiple-database-connection-in-rails/