tags:

views:

168

answers:

3

With Test::Unit, I can run:

ruby path/to/test.rb --name=test_name_that_i_want_to_run

Thus far, I have not been able to figure out how to do this with test/spec specifications. I am wondering if the way that specifications are automatically named does not allow me to do something like this.

+1  A: 

Take the following spec for example:

  require 'rubygems'  
  require 'spec'  

  describe 'tests' do  
    it 'should be true' do  
      1.should == 1  
    end

    it 'should be false' do  
      1.should_not == 2  
    end  
  end

You can execute a single spec by using the -e flag and providing the portion specified by the it block. e.g. ruby my_spec.rb -e 'should be false'

dj2
A: 

After contacting the gem maintainer, Christian Neukirchen, I found out how to do this, so I am documenting it here for future reference.

specrb path/to/test.rb --name ".*should behave this way.*"

I needed to use the specrb test runner, an extended version Test::Unit's test runner, rather than just the ruby command.

ottobar
A: 

You can also do this with the ruby command:

ruby path/to/test.rb -n "/should behave this way/"