有什么策略吗?我们目前有一个完全集成的Rails代码库(同样的应用程序提供JS资产,后端繁重的工作也是如此),但我们正在考虑将两者分离到单独的服务中,每个服务都在自己的git存储库中,运行在单独的服务器上。
我计划用一个小型ruby HTTP客户端对API进行单元/验收测试,该客户端也将充当API端点和JS前端的文档。io,骨干,卓别林)也将在内部进行单元/验收测试…但我觉得我应该编写黄瓜测试,将两者结合起来,对吧?那些公鸡住在哪里?哪个回购?
欣赏这里的任何见解。谢谢!
一般来说,如果你的代码是为你的服务器和你的客户端,那么"正确"的地方保存它取决于你的应用程序的哪一边更中心或"重":客户端或服务器。
话虽如此,从你在问题中描述事物的方式来看,听起来你认为Rails应用程序是"主要的"。例如,你提到你目前有"JS资产"集成/由你的"Rails代码库"提供服务…而不是由JS服务器提供Rails资源;-)
所以这在理论层面上回答了问题,但我也认为把代码放在Rails代码库中是有意义的,因为一个实际的原因:Cucumber是一个Rails工具,而不是JS工具。你可能会用它来测试一些非Ruby代码,但最终它是由Ruby运行的。
我不确定,但我怀疑如果你试图把Cucumber规范放在JS代码库中,然后尝试从Rails代码库运行它们,你会为自己制造麻烦。另外,这两个代码库确实紧密耦合:要运行你的测试,你需要在你的测试器上运行两个代码库,而如果你把Cucumber的东西放在Rails-land中,你的测试运行器可以只有你的Rails代码,它可以运行在一个有你的JS代码的不同服务器上。
所以最终对我来说,黄瓜的东西属于铁路领域…但是用另一种方式(并将其存储在你的JS repo中)对我来说也不是很可怕,只是可能有更多的问题。