これは私がこのRuby scriptを単体テストする必要があったということでした。これは、いくつかの宝石を使用するSinatraベースのWebアプリケーションです。埋め込みJRubyでRubyスクリプトを実行すると、宝石を使用できますか?
私はRubyよりもJavaの経験が豊富ですが、時間は非常に重要です(そして優雅さはありません)。したがって、JUnitクラスでスクリプトを実行し、依存するすべてのサブシステムをモックすると、 on(Webサーバー、データベース)。そうすれば、RubyシステムのテストにJavaのスキルを使うことができます。 RubyをJavaプログラムに埋め込むことができるようなlooksです。
質問:宝石を埋め込みRubyで使用できますか? e。 マシン(Windows、Linux、Mac)でテストを実行できるJavaプログラムを作成し、手動でいくつかの宝石をインストールする必要はありませんか?はいの場合、どうですか?
注:実際の宝石である必要があります。モックは大丈夫です。
アップデート1(2017年1月25日午後一時14分): 1つの明白な解決策は、依存関係なしに別のRubyファイルにそのスクリプトのロジックを抽出することです。それはおそらくコードの80%です。それで、宝石を持たなくても論理ファイルをテストすることができました。