# Testunit: run single test

**URL:** <https://www.ruby-forum.com/t/testunit-run-single-test/145018>\
**Category:** Ruby\
**Created:** [August 5, 2008, 9:42am UTC](https://www.ruby-forum.com/t/testunit-run-single-test/145018 "2008-08-05T09:42:48Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ruud\_grosmann](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/439d5e/32.png) [@ruud\_grosmann](https://www.ruby-forum.com/u/ruud_grosmann)\
**Post date:** [August 5, 2008, 9:42am UTC](https://www.ruby-forum.com/t/testunit-run-single-test/145018/1 "2008-08-05T09:42:48Z")

</div>

hello,

I’d like to be able to run one or two testroutines from a  
Test::Unit::TestCase-object. Is that possible?

For example:

# in test.rb:

class TC\_fe \< Test::Unit::TestCase

```
def test_plus
    assert_equal( 1+5, 6)
end

def test_minus
    assert_equal( 1-5, 6)
end

```

end

# ============== in do\_it:

#!/usr/bin/ruby1.8

require ‘test’

===================

Now all testroutines from TC\_fe are run. Is it possible only to run  
test\_minus? Or the routines with the names I collect via command line  
arguments?

thanks in advance!

Ruud

---

<div class="post-metadata">

**Author:** ![ruud\_grosmann](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/439d5e/32.png) [@ruud\_grosmann](https://www.ruby-forum.com/u/ruud_grosmann)\
**Post date:** [August 5, 2008, 9:48am UTC](https://www.ruby-forum.com/t/testunit-run-single-test/145018/2 "2008-08-05T09:48:39Z")

</div>

This should work  
ruby test.rb -n test\_minus

Farrel

---

<div class="post-metadata">

**Author:** ![ruud\_grosmann](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/439d5e/32.png) [@ruud\_grosmann](https://www.ruby-forum.com/u/ruud_grosmann)\
**Post date:** [August 5, 2008, 10:50am UTC](https://www.ruby-forum.com/t/testunit-run-single-test/145018/3 "2008-08-05T10:50:44Z")

</div>

no. no succes.

# The point is that my do\_it script in the mail is simplified a bit. It is more like

#!/usr/bin/ruby1.8

require ‘getoptlong’  
require ‘test’

# opts = GetoptLong.new( #[“–name”, “-n”, GetoptLong::REQUIRED\_ARGUMENT], [“-h”, GetoptLong::NO\_ARGUMENT], [“-d”, GetoptLong::NO\_ARGUMENT], [“-v”, GetoptLong::NO\_ARGUMENT] )

It either runs all tests (when I define the -n option which is  
commented out above), or it complains that -n is an invalid option.  
I am afraid that I have to code some things the Test-objects do  
magically when nothing is specified.

But I have no single clue as to what it should be.

Any ideas?

tia, Ruud

---

<div class="post-metadata">

**Author:** ![ruud\_grosmann](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/439d5e/32.png) [@ruud\_grosmann](https://www.ruby-forum.com/u/ruud_grosmann)\
**Post date:** [August 5, 2008, 11:57am UTC](https://www.ruby-forum.com/t/testunit-run-single-test/145018/4 "2008-08-05T11:57:28Z")

</div>

On Tue, Aug 5, 2008 at 10:48, ruud grosmann [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> opts = GetoptLong.new(  
> magically when nothing is specified.
> 
> But I have no single clue as to what it should be.
> 
> Any ideas?
> 
> tia, Ruud

Lookup test\unit\autorunner.rb and see how it does its stuff.  
Copy&paste the part that starts only single thread.  
Or delegate to its command line parser.

Jano
