测试两个rails应用之间的集成

我正在开发一个由两个不同的rails应用程序(服务器和客户端)组成的系统,它们通过其他Web服务进行通信

我对每个应用程序单独进行了测试,但我想为两个平台之间的集成添加一些测试,断言一个创建一个与另一个期望的内容兼容的请求。

任何提示将不胜感激。

我有一个类似的架构,我们使用VCR来记录所有服务器端响应,并始终避免发出请求。 它可能会变得烦人,现在我正在寻找一种方法来在每次请求后从服务器清除数据

我认为VCR可能是一个很好的起点,可以测试你的应用之间的集成。

你可以在这里找到文档 – > Relish Docs

我认为这里可能有几种方法,具体取决于你实施的方法。

  1. 如果客户端Rails应用程序具有用户界面,请尝试编写Selenium测试以在本地开发环境或已部署的临时环境中执行集成测试。 (如果界面仍然是原型,经常更换,则不理想……)

  2. 也许客户端的一部分可以写成Ruby gem(例如,通信restapi是一个ruby gem)。 当服务器app在测试环境中时,服务器Rails app可以使用Client gem运行集成测试,即调用模块函数,客户端使用相同的function。 客户端Rails应用程序也可以使用gem向服务器发出请求。 这是一个很好的指南,可以开始将一些可重用的代码迁移到rubygem。