我在 RubyMine 中有一些 rspec 测试,当我从 RubyMine 界面运行它们时,它们运行良好。但是当我尝试从终端运行相同的测试时,它们失败了。我使用 ruby-gmail gem 使用这种结构发送邮件槽 gmail:
@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'
我能做些什么?