一般的な意味で、サーバーとクライアントの両方にコードがある場合、それを保持する「適切な」場所は、アプリのどちら側がより中心的または「重い」か (クライアントまたはサーバー) によって異なります。
そうは言っても、質問で物事を説明する方法からすると、Railsアプリを「プライマリ」と見なしているように聞こえます。たとえば、現在、「Railsコードベース」によって統合/提供されている「JSアセット」があると述べています...JSサーバーによって提供されているRailsアセットではありません;-)
これで理論的なレベルでの答えは出ましたが、コードを Rails のコードベースに入れるのは実用的な理由からも理にかなっていると思います。Cucumber は Rails のツールであり、JS のツールではありません。Ruby 以外のコードをテストするために使用することもできますが、最終的には Ruby によって実行されます。
確かなことはわかりませんが、Cucumber の仕様を JS コードベースに入れ、それを Rails コードベースから実行しようとすると、頭痛の種になると思います。さらに、これは 2 つのコードベースを非常に密接に結び付けます: テストを実行するには、テストランナーに両方のコードベースが必要です。一方、Cucumber を Rails ランドに保持する場合、テスト ランナーは Rails コードだけで実行でき、別のコードベースに対して実行できます。 JS コードを持つサーバー。
最終的には、Cucumber は Rails ランドに属しているように思えますが、別の方法 (および JS リポジトリに保存すること) は、私には恐ろしいことではなく、潜在的により問題があるように思えます。