2012-11-29 3 views
0

RubyMine에서 rspec 테스트를 받았는데 RubyMine 인터페이스에서 실행할 때 완벽하게 작동합니다. 그러나 터미널에서 같은 테스트를 실행하려고하면 실패합니다. 때를 내가 RubyMine에서 실행하는 경우실행 실패 Rspec은 RubyMine에서 정상적으로 작동하는 Gmail에서 메시지를 전송합니다.

@gmail.deliver do 
     to current_unread_mail.reply_to 
     subject "Re: " + current_unread_mail.title 
     body reply_body 
end 

성공적으로 메일을 보내,하지만 메일 (그러나 예외의 종류를 제기하지)를 전송하지 않았다 나는이 구조를 사용하여 메일 trougth의 Gmail을 보낼 루비 Gmail이 보석을 사용하여 이

rspec test_spec.rb 

처럼 내 RSpec에 실행 그래서 나는 그것이 실행될 때 이것에 대한 이유는, 그 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/[email protected]/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' 

있어?

+0

터미널에서 사양을 어떻게 실행합니까? 해당 '레이크'작업을 사용할 수 있다면'rspec spec' 또는'rake spec'을 시도해 보셨습니까? –

+0

레이크를 사용하지 않습니다. 이 rspec test_spec.rb와 같은 rspec을 실행합니다. – ShockwaveNN

+0

이 오류가 발생하는 격리 된 예를 제공 할 수 있습니까? –

답변

0

발견. 은 내가 Ruby-Gmail 보석을 사용하지만, 내가

email = @gmail.compose do 
to (current_unread_mail.reply_to.mailbox + '@' + current_unread_mail.reply_to.host).to_s 
subject "Re: " + current_unread_mail.title 
body reply_body 
end 
email.deliver! 

Gmail 보석 (Ruby-Gmail의 포크) 및 변경 구문으로 전환 할 때 그것은 나를 위해 잘 작동합니다.

0

명령 줄에서 스펙을 실행하려면 RubyMine과 동일한 행을 실행하지 않아야합니다. 모든 것을 RubyMine은 당신에게 GUI에 결과를 제공 할 수 있도록이 작업을 가지고있는 경우, 그래서 그냥 사용에 훨씬 더 값이 그 자체 포맷을 포함입니다 않습니다 rspec spec/...

RSpec에 그냥 RSpec에 명령과 함께 사용되어야한다 , 테스트가 올바르게 실행됩니다.

+0

예, RubyMine에 관한 내용은 포맷터 일 뿐이지 만 rspec spec.rb 명령에서도 올바르게 작동하지는 못합니다. – ShockwaveNN

+1

당신은'rspec spec'을 실행할 때 출력을 추가합니까? 묶음 문제는 흔하다. 묶음이'bundle check '을 사용하여 잘되었는지 확인하고'bundle exec rspec spec'을 사용하여 rspec을 실행한다. – stuartc

관련 문제