一般来说,如果您的代码既适用于服务器又适用于客户端,那么保存它的“正确”位置取决于应用程序的哪一侧更中心或“更重”:客户端或服务器。
话虽这么说,从您在问题中描述事物的方式来看,听起来您认为 Rails 应用程序是“主要的”。例如,您提到您当前有“JS 资产”集成/由您的“Rails 代码库”提供服务......而不是您的 JS 服务器提供的 Rails 资产;-)
所以这在理论上回答了问题,但我也认为出于实际原因将代码放入 Rails 代码库是有意义的:Cucumber 是 Rails 工具,而不是 JS 工具。您可能会使用它来测试一些非 Ruby 代码,但最终它是由 Ruby 运行的。
我不确定,但我怀疑如果您尝试将 Cucumber 规范放入您的 JS 代码库,然后尝试从 Rails 代码库运行它们,您会为自己制造麻烦。另外,这确实将两个代码库紧密结合在一起:要运行您的测试,您需要两个代码库都在您的测试运行器上,而如果您将 Cucumber 的东西保留在 Rails 中,那么您的测试运行器可能只有您的 Rails 代码,它可以针对不同的代码运行有你的 JS 代码的服务器。
因此,最终在我看来,Cucumber 的东西属于 Rails-land ……但反过来(并将其与您的 JS 存储库一起存储)对我来说似乎也不可怕,只是可能会有更多问题。