1

有什么策略可以做到这一点?我们有一个目前完全集成的 Rails 代码库(同一个应用程序提供 JS 资产和后端繁重的工作),但正在考虑将两者提取到单独的服务中,每个服务都在自己的 git 存储库中并在单独的服务器上运行.

我计划使用一个小型 ruby​​ HTTP 客户端对 API 进行单元/验收测试,该客户端也将作为 API 端点的文档,并且 JS 前端(Brunch.io、Backbone、Chaplin)将在内部进行单元/验收测试也...但是我觉得我应该编写将两者结合在一起的黄瓜测试,对吗?那些杯子住在哪里?在哪个回购?

在这里欣赏任何见解。谢谢!

4

1 回答 1

2

一般来说,如果您的代码既适用于服务器又适用于客户端,那么保存它的“正确”位置取决于应用程序的哪一侧更中心或“更重”:客户端或服务器。

话虽这么说,从您在问题中描述事物的方式来看,听起来您认为 Rails 应用程序是“主要的”。例如,您提到您当前有“JS 资产”集成/由您的“Rails 代码库”提供服务......而不是您的 JS 服务器提供的 Rails 资产;-)

所以这在理论上回答了问题,但我也认为出于实际原因将代码放入 Rails 代码库是有意义的:Cucumber 是 Rails 工具,而不是 JS 工具。您可能会使用它来测试一些非 Ruby 代码,但最终它是由 Ruby 运行的。

我不确定,但我怀疑如果您尝试将 Cucumber 规范放入您的 JS 代码库,然后尝试从 Rails 代码库运行它们,您会为自己制造麻烦。另外,这确实将两个代码库紧密结合在一起:要运行您的测试,您需要两个代码库都在您的测试运行器上,而如果您将 Cucumber 的东西保留在 Rails 中,那么您的测试运行器可能只有您的 Rails 代码,它可以针对不同的代码运行有你的 JS 代码的服务器。

因此,最终在我看来,Cucumber 的东西属于 Rails-land ……但反过来(并将其与您的 JS 存储库一起存储)对我来说似乎也不可怕,只是可能会有更多问题。

于 2013-01-16T23:18:06.630 回答