[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

How can I use the "test/unit" right

artoxvw@gmail.com

5/14/2009 1:11:00 PM

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
1 Answer

Ryan Davis

5/14/2009 8:17:00 PM

0


On May 14, 2009, at 06:15 , artoxvw@gmail.com wrote:

> 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

require 'test/unit'

class TC_Pram < Test::Unit::TestCase
def setup
@name = "wang"
end

def test_array
assert_equal ?n, @name[2]
end
end

---

nothing more. don't add puts. don't instantiate or call the method.
just run it with ruby. "require 'test/unit'" will take care of the rest.

I changed your assertion so that it'll pass. you may not have wanted
that.