Question

NetBeans 6.9 provides a custom Runner class for RSpec to be integrated into the IDE. I'm trying to get my Rails 3 applications specs to be correctly displayed inside NetBeans, but RSpec 2 seems no longer to support custom Runner classes in general.

Any ideas how to get the specs into the IDE anyway?

Was it helpful?

Solution

Just in. Oracle has just announced they are withdrawing support for Rails in future version of NetBeans. Time to start looking at other IDE options.

http://news.ycombinator.com/item?id=2148161

OTHER TIPS

So far (NB 6.9.1) the only way I know to run Rspec2 tests from inside NetBeans is by using rake tasks. But I was not able to make it work with UI Test Runner, because of this and few other problems. So the best way is to avoid invoking UI runner, this can be done in many ways:

  • Disable it via tools -> options -> miscellaneous -> Ruby
  • modify project.properties file
  • give other name to task than 'spec', so naming task as 'rspec' will avoid invoking UI runner

This way you will have just test results in output pan, but it is still usable, because you can click anywhere on stack trace, and NB will take you immediately to that file:line.

There is one thing left, auto generated by NB Rakefile has not valid task (for Rails projects, there is NO such problem), to make it work one needs at least:

require 'rspec/core/rake_task'

Rspec::Core::RakeTask.new(:rspec)

I know this is not what you are expecting but you might want to check RubyMine3 out it comes out of the box, you do need to buy a licence but at least you can check it out in the 30 day trial

I am using RVM.
And at the minimum I wanted to be able to run my Ruby 1.9.2 / Rails 3 / RSpec 2 specs from inside the IDE and be able to click on stack traces for Netbeans to open the right files and lines.

I found a work-around for that:
Put somewhere in the project a ruby file that shells out to run the spec suite. E. g. my ruby file has the following content:

system <<EOF
  time ~/.rvm/wrappers/ruby-1.9.2-p290@default/rspec --drb spec 
EOF

Change the ruby version and gemset as you need it.

The major limitation:
I cannot just run only a single spec. For that I have to change the "spec" parameter to the target spec file (which isn't such a big deal though).

Netbeans is fairly sluggish running specs (using rspec1 here), would recommend running specs from command line.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top