Run specs in parallel from rubymine.

I use the deep-test ruby gem to run tests in parallel from a rake task.  I want to be able to right click on a folder and run tests in parallel,  in addition to the run tests option.  I thought of researching the run options for spec tests and seeing if I could create a custom runner and put my rake task code into the runner. I don't think this level of customization exists. The run test in folder feature is extremely valuable, I would really like to have the run in parallel option.

1 comment
Comment actions Permalink

Hello Scott,

Please file an issue - http://youtrack.jetbrains.net/issues/RUBY

I use the deep-test ruby gem to run tests in parallel from a rake task.  I want to be able to right click on a folder and run tests in parallel,  in addition to the run tests option.  I thought of researching the run options for spec tests and seeing if I could create a custom runner and put my rake task code into the runner. I don't think this level of customization exists. The run test in folder feature is extremely valuable, I would really like to have the run in parallel option.

Probably it's possible, but I am not sure. RubyMine launches "all specs in folder" using simple tests runner script written in Ruby. The script is located in RubyMine.app/rb/testing/runner/specs_in_folder_runner.rb. Then RubyMine attaches to RSpec our custom RSpec formatter. Formatter listens RSpec tests events(example/group started/finished/pending/etc) and outputs special text markers in stdout. Special thread of RubyMine (and also TeamCity build agents) listens process output, parses it and draws/builds UI. Our rspec formatter is located in RubyMine.app/rb/testing/patch/bdd/teamcity/spec/runner/formatter/teamcity/formatter.rb. Most likely deep-test gem doesn't synchronize tests status events and thus events will be mixed each with other. I'm not sure that RM will build correct tests tree UI in such case.

0

Please sign in to leave a comment.