すべてのルビーバージョンで 'rake spec'を実行する方法を探していました。1つのコマンドで複数のRubyバージョンのRSpecを実行する
は、これまでのところ私はRakefileにこのコードを書いたが、それは動作しません:
RUBIES = ['ruby-2.0.0', 'ruby-2.1.1', 'ruby-2.2.1']
RUBIES.each do |ruby_v|
sh "rvm use #{ruby_v}"
RSpec::Core::RakeTask.new(:spec)
end
任意のアイデア私はこれを実現できますか?
私が単一のルビーバージョンのテストを実行するのか、それともすべてのテストを実行するのかを指定する引数を渡すことができたらうれしいです。
EDIT:
Here's私が使用して私が取得していますエラーRakefile。私が上で述べたのと同じファイルではありません。答えではKeithが提案したようにを使用しています。
あなたがすることはできません。私は私のシェルとして
zsh
を使用していますが、あなたは以下のコードでbash
を代用することができるはずですし、それが仕事(もちろんそこにあなたのRSpecのコマンドを入れる)必要がありますRuby内からRubyのバージョンを切り替えます。 – Stefan
Hmm。だから、いくつかの異なるルビーのスペックを実行するレーキタスクを書く方法はありますか? – Lokesh
RVMには[ラッパー](https://rvm.io/deployment/cron#direct)が付属しています。ドキュメントによれば、 '/ usr/local/rvm/wrappers/ruby-2.1.1 @ projectX/rake'を実行すると(パスを調整する必要があります) – Stefan