Unit test, inheritance and changing og parrent variables (?)

Question at the end. ( i dont know exactly what i should write as the
I want to test some programs that are running on a server.

So I have a general controller class to execute programs on this server

class GeneralController

def initialize
some variables to connect to server and application name and so on.
Variable to hold inputs that are going to be plotted in to the given
program when it asks for inputs.
And some variables to hold stdout, stderr so they can later be tested to
seeif they are correct.

some access methods to some of the variables above

def start_program
it start the program from the server


and to run the program only once for each test case I have made this

class GenTest < Test::Unit::TestCase

It has some variables.
Like a variable that holds a generalController class,
@cenCon = generalController.new
And variables for inputs and the program name
@inut = “”
@app_name = “”

class << self
def startup
It sets the input variable and program name in the generalController
this starts the program in the class above

def shutdown


def suite
  mysuite = super
  def mysuite.run(*args)


The plan is that for each test it is only needed to change this, at
least for most test. Since I have to write many test I want to write as
little as possible on each test as I can.

class TestX < GenTest

Set inputs in the input variable of the parent class
Set the program name in the parent class
(probably some more here later)

Some test assertions under here


The problem is that I dont know how to set @input and @app_name in
GenTest from the TestX class. I have tried to make def initialize
method, but that did not work (som eerrors and stuff). The only way I
managed it was to make those variables global, but then they affect all
my tests.

“The only way I
managed it was to make those variables global, but then they affect all
my tests.”

I ment as class (singeltone?) variables @@. It pobably works with global

And when i sed taht the programs i shal test is on a server, i ment that
they are on a server but they are runn (interpreted) tru a different
program that has a ruby interreter (compiler) in it.