# How can I use the "test/unit"

**URL:** <https://www.ruby-forum.com/t/how-can-i-use-the-test-unit/167970>\
**Category:** Ruby\
**Created:** [May 14, 2009, 3:16pm UTC](https://www.ruby-forum.com/t/how-can-i-use-the-test-unit/167970 "2009-05-14T15:16:50Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![artoxvw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f05b48/32.png) [@artoxvw](https://www.ruby-forum.com/u/artoxvw)\
**Post date:** [May 14, 2009, 3:16pm UTC](https://www.ruby-forum.com/t/how-can-i-use-the-test-unit/167970/1 "2009-05-14T15:16:50Z")

</div>

when I run the following code

require ‘test/unit’  
class TC\_Pram \< Test::Unit::TestCase  
def initialize(name)  
@name=name  
end  
def test\_array  
puts assert\_equal(2,@name[2])  
end  
end  
tc=TC\_Pram.new(“wang”)  
tc.test\_array

there are some errors as follows

c:/ruby/lib/ruby/1.8/test/unit/testcase.rb:125:in `add_assertion': undefined method`add\_assertion’ for nil:NilClass (NoMethodError)  
from c:/ruby/lib/ruby/1.8/test/unit/assertions.rb:494:in  
`_wrap_assertion' from c:/ruby/lib/ruby/1.8/test/unit/assertions.rb:46:in`assert\_block’  
from c:/ruby/lib/ruby/1.8/test/unit/assertions.rb:83:in  
`assert_equal' from test_unit.rb:7:in`test\_array’  
from test\_unit.rb:11

I don’t know how to resolve it , so I need your help , thanks

---

<div class="post-metadata">

**Author:** ![artoxvw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f05b48/32.png) [@artoxvw](https://www.ruby-forum.com/u/artoxvw)\
**Post date:** [May 14, 2009, 3:46pm UTC](https://www.ruby-forum.com/t/how-can-i-use-the-test-unit/167970/2 "2009-05-14T15:46:24Z")

</div>

> def initialize(name)  
> @name=name  
> end  
> def test\_array  
> puts assert\_equal(2,@name[2])  
> end  
> end  
> tc=TC\_Pram.new(“wang”)  
> tc.test\_array

You don’t want to use initialize. You want to use setup.

class TC\_Pram \< Test::Unit::TestCase  
def setup  
@name = ‘wang’  
end

def test\_array  
assert\_equal(2, @name[2])  
end  
end

You don’t need to instantiate an instance of TC\_Pram. Just run the file.

Regards,

Dan
