我正在开发一个由两个不同的 rails 应用程序(服务器和客户端)组成的系统,它们通过 rest web 服务进行通信。
我对每个应用程序分别进行了测试,但我想为两个平台之间的集成添加一些测试,以断言一个平台创建的请求与另一个平台的期望兼容。
任何提示将不胜感激。
我正在开发一个由两个不同的 rails 应用程序(服务器和客户端)组成的系统,它们通过 rest web 服务进行通信。
我对每个应用程序分别进行了测试,但我想为两个平台之间的集成添加一些测试,以断言一个平台创建的请求与另一个平台的期望兼容。
任何提示将不胜感激。
我有一个类似的架构,我们使用 VCR 来记录所有服务器端响应并避免总是发出请求。它可能会变得烦人,现在我正在寻找一种在每次请求后从服务器清除数据的方法
我认为VCR可能是一个很好的起点,可以测试您的应用程序之间的集成。
您可以在此处找到文档 -> Relish Docs
我认为这里可能有几种方法,具体取决于您实施的内容。
如果客户端 Rails 应用程序具有用户界面,请尝试编写Selenium 测试以在本地开发环境或已部署的暂存环境中执行集成测试。(如果界面仍然是原型,则不理想,经常更改......)
也许客户端的一部分可以写成一个Ruby gem(例如通信rest api就是一个ruby gem)。当服务端应用在测试环境中时,服务端Rails应用可以使用Client gem来运行集成测试,即调用模块函数,客户端使用相同的函数。客户端 Rails 应用程序也可以使用 gem 向服务器发出请求。这是开始将一些可重用代码迁移到 rubygem的一个很好的指南。