RubyMineにいくつかのrspecテストがありますが、RubyMineインターフェイスから実行すると完全に機能します。しかし、ターミナルから同じテストを実行しようとすると、失敗します。私はruby-gmailgemを使用して、この構造を使用してメールtrougthgmailを送信します。
@gmail.deliver do
to current_unread_mail.reply_to
subject "Re: " + current_unread_mail.title
body reply_body
end
RubyMineから実行するとメールは正常に送信されますが、このようにrspecを実行すると、メールは送信されませんでした(ただし、例外は発生しません)。
rspec test_spec.rb
したがって、この理由は、RubyMineが実行時にいくつかの追加のrspecパラメーターを追加するためだと思います。
RubyMineのRspec出力の最初の行は次のようになります。
/home/user/.rvm/rubies/ruby-1.9.2-p318/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/user/.rvm/gems/ruby-1.9.2-p318@global/bin/rspec /home/user/path_to_spec/test_spec.rb --require teamcity/spec/runner/formatter/teamcity/formatter --format Spec::Runner::Formatter::TeamcityFormatter
しかし、ターミナルからこのコードを実行すると、エラーが発生しました
bash: syntax error near unexpected token `$0=ARGV.shift'
私に何ができる?