如何集成测试两个Rails应用程序

我们有两个独立的Ruby on Rails应用程序,一个接受上传的文件,另一个通过上传其他应用程序收到的文件生成文件。

我们正在尝试整理端到端的黑盒回归和集成测试,这些测试certificate当您将某个文件上传到第一个应用程序时,您可以指望从另一个应用程序中获取某个文件。

问题是如何编写脚本,以便使用种子值重置两个单独的数据库,两个服务器被激活,Capybara访问两个单独的“网站”。

到目前为止,在构建和测试每个应用程序时,我们依赖于使事情“正常工作”的Rails魔法,因此处理单独的数据库,单独的服务器端口和其他未知的皱纹看起来像是一个绊脚石。

有人写过这种测试的最佳实践吗? 有关如何自动化这种集成测试的任何示例?

您可以使用Heroku将这两个应用程序联机。 然后使用saucelabs.com的sauce_ruby gem作为连接器,让rspec和capybara运行测试再次应用程序。 运行heroku run rake db:reset重新设置(使用seed.rb)测试之前的数据(你可以编写脚本)。 酱ruby