TeamCity Rake Runner Plugin isn't compatible with this RSpec version
I am trying to set up RSpec and FactoryGirl for my unit tests. I have a very simple spec, which does nothing except create a Club instance from the Factory.
When I run the test from RubyMine, I get the following
/Users/disaacs/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/bin/rspec /Users/disaacs/Dropbox/Active/Clubicle/Source/clubicle/spec/models/club_spec.rb --require teamcity/spec/runner/formatter/teamcity/formatter --format Spec::Runner::Formatter::TeamcityFormatter
Testing started at 11:02 PM ...
/Applications/RubyMine 3.2.4.app/rb/testing/patch/bdd/teamcity/spec/runner/formatter/teamcity/formatter.rb:398:in `dump_summary': TeamCity Rake Runner Plugin isn't compatible with this RSpec version. (Rake::TeamCity::InnerException)
Following examples weren't finished:
1. Example : 'Club should create a club'
from /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.8.0/lib/rspec/core/reporter.rb:98:in `block in notify'
from /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.8.0/lib/rspec/core/reporter.rb:97:in `each'
from /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.8.0/lib/rspec/core/reporter.rb:97:in `notify'
from /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.8.0/lib/rspec/core/reporter.rb:82:in `finish'
from /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.8.0/lib/rspec/core/reporter.rb:36:in `ensure in report'
from /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.8.0/lib/rspec/core/reporter.rb:36:in `report'
from /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:25:in `run'
from /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process'
from /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run'
from /Users/disaacs/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun'
2 examples, 2 failures, 0 passed
Finished in 0.493022 seconds
TeamCity Rake Runner Plugin isn't compatible with this RSpec version.
Following examples weren't finished:
1. Example : 'Club should create a club'
Process finished with exit code 1
Any suggestions as to what the problem might be?
I've seen similar issues being reported here, but never any solutions proposed.
Thanks!
请先登录再写评论。
I get the same thing and would love a resolution.
Yep.
I downgraded to rspec-rails 2.7.0, and it's working again.
Oddly enough, I haven't changed my RSpec version at all and the problem has gone away.
Before, when I had the problem, my spec were just stubs. They didn't do anything except create a few objects using Factory. There were no expectations.
I continued to develop the tests, running them from the command line using "rake spec", adding a few simple expectations. Now when I run them from RubyMine, they work fine.
Go figure.
I had no problems with rspec 2.8.0 if I had no errors in my specs!
If I had an error or failed condition then the rubymine result was something like "no specs run".
With rspec 2.7.0 both my failing and passing specs show up correctly in rubymine 4.0 EAP RM 112.291
Thanks, the problem is reproducible on 2.8.0 if some example fails. I've filed an issue - http://youtrack.jetbrains.net/issue/RUBY-10196
Can someone at jetbrains pleaese fix this. Over like 5 hours today I tried:
1)Installing Rubymine 3.2
2)Installing Rubymine 3.4
3)Editing the formatter ruby code to bypass error
4)seeing if there is any way to remove the --format option (require teamcity/spec/runner/formatter/teamcity/formatter --format Spec::Runner::Formatter::TeamcityFormatter) which doesn't look like it can be done, looks like that is compiled in the ruby mine jar
5)Using a custom script but that will somehow override the --format option
6)Tried to set these which probably have nothing to do with Rubymine: INTELLIJ_IDEA_RUN_CONF_IDEA_SPEC_FORMATTER_CLASS_NAME
INTELLIJ_IDEA_RUN_CONF_IDEA_SPEC_FORMATTER_PATH
7)Downgrading to rspec-rails 2.7 instead of 2.8
Finally downgrading worked. I did try that earlier but i didn't realize I was doing it wrong - I was trying to do it in Rubymine instead of doing it in bundler/gemfile, which I eventually figured out
Anyway my team uses 2.8 and I don't want to have to worry about a local dirty version of my gemfile or if someone upgrades a test gem that needs 2.8. Please look into fixing this.
-Glenn
I had the same issue, I downgraded to rspec-rails 2.7.0, and it's working.
This problem is fixed in RubyMine 4.0 Beta, please consider updating to that version
Dennis (or Roman), I would highly recommend, given that this is a critical bug and that *so* many ppl in the Ruby community use RSpec that you push out a RM 3.2.5 with this fix in it, rather than force everyone on a team to upgrade to a Beta (4.0) version of RubyMine.
My $0.02 worth!
:-)
As Bradford said, I'm not keen to jump onto a beta version of my IDE tool yet, but consider this a reasonably key bug to fix - is there a v3.2.5 under consideration ?
Whilst Rubymine is an excellent product, I feel I too often see "upgrade to EAP / beta" as the solution to some key problems.
When will the updated plugin be available to intellij users? I currently see this issue as soon as we upgrade to rspec 2.8. Unfortunately I cannot downgrade.
We're preparing updated plugin version for 11.1, most probably it should be available today
Hello, I am still seeing the TeamCity plugin version mismatch message on occasion in RubyMine 4.0.3 with RSpec/rspec-rails v2.10.1:
In this case it was when my code threw a "ArgumentError: invalid byte sequence in UTF-8" error. When running from RubyMine, this appeared to make the plugin think I had a bunch of extra tests, when in fact I have only two in this file. Once I corrected the code, the TeamCity plugin message went away and correct test reporting resumed.
If this is your bug, please let me know if you would like the test code to reproduce this. It's not dependent on any particular Rails code and I'm sure I could write an isolated test easily. I was testing the Encryptor gem (https://github.com/shuber/encryptor).
output:
/Users/squeedle/.rvm/rubies/ruby-1.9.2-p320/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/squeedle/dudada/bin/rspec /Users/squeedle/dudada/spec/models/user_settings_spec.rb --require teamcity/spec/runner/formatter/teamcity/formatter --format Spec::Runner::Formatter::TeamcityFormatter --example UserSettings
Testing started at 6:31 PM ...
WARNING: Cucumber-rails required outside of env.rb. The rest of loading is being defered until env.rb is called.
To avoid this warning, move 'gem cucumber-rails' under only group :test in your Gemfile
DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in Sunspot::Rails::SolrInstrumentation instead. (called from <top (required)> at /Users/squeedle/dudada/config/environment.rb:6)
/Users/squeedle/dudada/bin/rspec: No such file or directory -
ArgumentError: invalid byte sequence in UTF-8
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:188:in `gsub!'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:188:in `replace_escaped_symbols'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:246:in `block in create_message'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:246:in `each'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:246:in `map'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:246:in `create_message'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:105:in `create_test_error'
/Applications/RubyMine.app/rb/testing/patch/bdd/teamcity/spec/runner/formatter/teamcity/formatter.rb:291:in `example_failed_3args'
/Applications/RubyMine.app/rb/testing/patch/bdd/teamcity/spec/runner/formatter/teamcity/formatter.rb:215:in `example_failed'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:98:in `block in notify'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:97:in `each'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:97:in `notify'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:68:in `example_failed'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example.rb:215:in `finish'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example.rb:112:in `run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:353:in `block in run_examples'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:349:in `map'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:349:in `run_examples'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:335:in `run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:336:in `block in run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:336:in `map'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:336:in `run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:28:in `block (2 levels) in run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:28:in `map'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:28:in `block in run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:34:in `report'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:25:in `run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:69:in `run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:10:in `block in autorun'
ArgumentError: invalid byte sequence in UTF-8
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:188:in `gsub!'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:188:in `replace_escaped_symbols'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:246:in `block in create_message'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:246:in `each'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:246:in `map'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:246:in `create_message'
/Applications/RubyMine.app/rb/testing/patch/common/teamcity/utils/service_message_factory.rb:105:in `create_test_error'
/Applications/RubyMine.app/rb/testing/patch/bdd/teamcity/spec/runner/formatter/teamcity/formatter.rb:291:in `example_failed_3args'
/Applications/RubyMine.app/rb/testing/patch/bdd/teamcity/spec/runner/formatter/teamcity/formatter.rb:215:in `example_failed'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:98:in `block in notify'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:97:in `each'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:97:in `notify'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:68:in `example_failed'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example.rb:215:in `finish'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example.rb:112:in `run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:353:in `block in run_examples'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:349:in `map'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:349:in `run_examples'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:335:in `run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:336:in `block in run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:336:in `map'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:336:in `run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:28:in `block (2 levels) in run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:28:in `map'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:28:in `block in run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:34:in `report'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:25:in `run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:69:in `run'
/Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:10:in `block in autorun'
6 examples, 5 failures, 1 passed
Finished in 0.191273 seconds
TeamCity Rake Runner Plugin isn't compatible with this RSpec version.
Following examples weren't finished:
1. Example : 'the paypalexpress_api settings should encrypt the password if set'
/Applications/RubyMine.app/rb/testing/patch/bdd/teamcity/spec/runner/formatter/teamcity/formatter.rb:402:in `dump_summary': TeamCity Rake Runner Plugin isn't compatible with this RSpec version. (Rake::TeamCity::InnerException)
Following examples weren't finished:
1. Example : 'the paypalexpress_api settings should encrypt the password if set'
from /Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:98:in `block in notify'
from /Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:97:in `each'
from /Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:97:in `notify'
from /Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:82:in `finish'
from /Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:36:in `ensure in report'
from /Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/reporter.rb:36:in `report'
from /Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:25:in `run'
from /Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:69:in `run'
from /Users/squeedle/.rvm/gems/ruby-1.9.2-p320/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:10:in `block in autorun'
Coverage report generated for RSpec to /Users/squeedle/dudada/coverage. 617 / 1743 LOC (35.4%) covered.
Process finished with exit code 1
Hi Shannon,
yes, the problem looks like a bug for me. Could you, please, try if the problem is reproducible with the latest 4.5 EAP build, and
if it is then please file a bug in our tracker.
Thanks in advance, Oleg.