Test unit with ARGV input

I can't get test/unit to work with command line scripts that take user input via ARGV. Any tips on this? I continually get 'initialize': wrong number of arguments (0 for 1) (ArgumentError) that go back to my initialize method which is simply this:

def initialize
   super
end

(I assume this is in a testcase class?)

Test::Unit::TestCase#initialize requires one argument, the name of the
test being run. For each test method, a new instance is used. You would
need to do:

def initialize(name)
  super(name)
end

You could omit (name) from the super call (it assumes the same arguments
anyway) but I prefer to be explicit.

All that said, you should generally handle custom initialization for
your tests from the 'setup' method, which is called before each test is
run.

As a general tip, whenever you have a situation like this you can
temporarily do:

def initialize(*args)
  p args
  super(*args)
end

To see what you're supposed to be dealing with.

···

On Fri, 2006-03-24 at 05:28 +0900, rtilley wrote:

I can't get test/unit to work with command line scripts that take user
input via ARGV. Any tips on this? I continually get 'initialize': wrong
number of arguments (0 for 1) (ArgumentError) that go back to my
initialize method which is simply this:

def initialize
   super
end

--
Ross Bamford - rosco@roscopeco.REMOVE.co.uk

Not sure from what you gave but are you calling TestCase's initialize
when you call super? Because that takes one argument which is the name
of the method being tested. (I could be completely wrong here i
haven't tried too many off the wall things with test/unit)

Ross Bamford wrote:

Test::Unit::TestCase#initialize requires one argument, the name of the
test being run. For each test method, a new instance is used. You would
need to do:

def initialize(name)
  super(name)
end

You could omit (name) from the super call (it assumes the same arguments
anyway) but I prefer to be explicit.

All that said, you should generally handle custom initialization for
your tests from the 'setup' method, which is called before each test is
run.

OK, I got it working... I'm new to test unit... this was my first go at it. It's working now. Thank you both for the info!