1

我们有一个 Rails 应用程序和一个带有独立代码库的 Sinatra API。他们需要与同一个数据库一起工作。

我们可以使用 API 创建记录,然后使用 Rails 应用程序显示该记录的页面。使用 API 创建记录时,需要同时创建许多其他记录。这一切都在 Rails 应用程序上运行良好。

问题来了:在 API 创建记录时,测试所有其他记录以及页面在 Rails 应用程序上正确呈现的最佳方法是什么?

我正在为此在 Rails 应用程序中编写测试。由于 API 与 Rails 应用程序是分开的,我可以创建一个模拟。但是 mock 需要做 API 会做的所有事情,所以它并不是真正的 mock。

是否可以(或实际)在 Rails 应用程序中包含包含创建记录调用的 API 文件?

或者有没有更好的方法来测试这个?

4

2 回答 2

2

好吧,您有两个 Web 应用程序。也就是说,两个应用程序在网络上公开(或多或少)公共接口并响应 HTTP 调用。

为什么不使用 HTTP 客户端来调用所有两个服务器并执行完整的测试(“工作流测试”,如果您愿意的话)?

您可能可以为此使用任何现有的 Web 测试工具,或者使用任何语言编写测试脚本。

于 2012-11-30T19:52:50.650 回答
0

不,不可能在 Rails 应用程序中包含来自 API 的文件。

它们托管在不同的服务器上。即使我让它在我的本地机器上工作,它也不会在生产中工作。

编辑:实际上,这不是真的。如果文件只需要共享用于测试,那么它只会在本地机器上运行(除非有某种 CI 系统)。所以生产环境无关紧要。只有测试 (CI) 环境很重要。

于 2012-12-09T15:37:52.760 回答