From: Kga Agk Date: 2009-06-16T19:27:03+09:00 Subject: Unit test, inheritance and changing og parrent variables (?) Question at the end. ( i dont know exactly what i should write as the topic) 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. … end some access methods to some of the variables above def start_program … it start the program from the server .. end 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 class … this starts the program in the class above end def shutdown end def suite mysuite = super def mysuite.run(*args) GenTest.startup() super GenTest.shutdown() end mysuite end end end 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 … end 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. -- Posted via http://www.ruby-forum.com/.