Rspecのテストクラスを自動生成した状態で、全体のテストを実行するとエラーとなる現象で躓きました。
詳細なエラーの内容は以下の通りでした。
[ruby] /Users/ymanabe/.rbenv/versions/1.9.3-p194/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) "/Users/ymanabe/Library/Application Support/IntelliJIdea11/ruby/rb/testing/runner/specs_in_folder_runner.rb" Testing started at 18:32 ... /Users/ymanabe/.rbenv/versions/1.9.3-p194/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/ymanabe/.rbenv/versions/1.9.3-p194/bin/rspec --require teamcity/spec/runner/formatter/teamcity/formatter --format Spec::Runner::Formatter::TeamcityFormatter /Users/ymanabe/beagle_projects/rails/keihi/spec/controllers/ledgers_controller_spec.rb Work directory: /Users/ymanabe/beagle_projects/rails/keihi/spec/controllers}
Searching files....
- /Users/ymanabe/beagle_projects/rails/keihi/spec/controllers/ledgers_controller_spec.rb:1 1 files were found.
RSpec script : /Users/ymanabe/.rbenv/versions/1.9.3-p194/bin/rspec Spec Options:
[]
Running specs...
Command line:
["/Users/ymanabe/.rbenv/versions/1.9.3-p194/bin/ruby", "-e", "$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)", "/Users/ymanabe/.rbenv/versions/1.9.3-p194/bin/rspec", "--require", "teamcity/spec/runner/formatter/teamcity/formatter", "--format", "Spec::Runner::Formatter::TeamcityFormatter", "/Users/ymanabe/beagle_projects/rails/keihi/spec/controllers/ledgers_controller_spec.rb"]
NoMethodError: undefined method get' for #
…
NoMethodError: undefined method
get' for #
…
2 examples, 2 failures, 0 passed
Finished in 0.012341 seconds
/Users/ymanabe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/file_utils.rb:53:in block in create_shell_runner': Command failed with status (1): [/Users/ymanabe/.rbenv/versions/1.9.3-p194/...] (RuntimeError)
from /Users/ymanabe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/file_utils.rb:45:in
call'
from /Users/ymanabe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/file_utils.rb:45:in sh'
from /Users/ymanabe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/file_utils_ext.rb:39:in
sh'
from /Users/ymanabe/Library/Application Support/IntelliJIdea11/ruby/rb/testing/runner/specs_in_folder_runner.rb:139:in '
from -e:1:in
load'
from -e:1:in `'
Process finished with exit code 1
[/ruby]
それぞれ個別にDescribe宣言をテストすると正常に動作するし上記のエラーも出ないのですが、全体を一括でテストするとエラーになってしまいます。
困ったときはGoogleで検索するしかないのでGoogleで調べたところ、下記に同様な現象が発生していることを確認しました。
[ruby] Undefined method `get' for # :controller do [/ruby]
のように変更することで正常に動作するようになりました。
のっけから躓いてどうしようと思っていましたが、とりあえず解決してめでたしめでたしです。