------ art_3178_28588675.1168431237263 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, I was having some trouble trying to execute a set of testcase functions (to run Selenium tests) within a class inherited from the Test::Unit::TestCase class... the issue here is, I need access to individual functions within the class, to be executed by a separate program that dynamically decides what functions to be run. The model I'm using is briefly detailed below... a. A QtRuby application reads from the .rb file and parses for all 'def's that exist within the file b. Users can use the QtRuby app to create testcases (comprised of a selection of the functions in the ruby file, with custom parameters entered in the QtRuby app for each function) c. These testcases can then be combined in the app to form suites that can be executed. When a suite is to be executed, I need access to the individual functions within the Test::Unit::TestCase class. The way the test/unit library works - executing all functions starting with 'test' - doesn't work well for me, as I need to dynamically select the individual functions. The functionality that allows suites to be created by combining all 'test' functions within each class inherited from Test::Unit::TestCase is limiting because it automatically executes ALL the functions within the class. I do not want to create a separate class for each testcase, as I don't want to run 'setup' and 'teardown' separately for each testcase, and there are dependencies between the discrete functions in the one class that I'm using now. One (ugly) solution that WILL work is dynamically creating a new .rb file to execute selected tests - this .rb file will have a single Test::Unit::TestCase class, and each test function will dynamically be inserted into the class by copying it from the 'master' .rb file... but this is ugly, as I'll have to parse through the entire ruby file containing the actual testcase functions, looking for 'def's, if-blocks, class-blocks etc., counting the 'end's to be able to extract only the specific functions I need. There has to be a better way, as this will depend too heavily on parsing the Ruby language itself. Can anyone please tell me a way in which I can do something like the below...? include 'master-file.rb' a estSomething.new #TestSomething being the class inherited from Test::Unit::TestCase, which also contains the testcase functions result .function(parm1, parm2, ... , parm x) #'function' being any one of the multiple functions within the class TestSomething that actually does any testing Lots of gratefulness will ensue :) -- "I refuse to prove that I exist," says God, "for proof denies faith, and without faith I am nothing." "But," says Man, "the Babel fish is a dead giveaway isn't it? It could not have evolved by chance. It proves that you exist, and so therefore, by your own arguments, you don't. Q.E.D." "Oh dear," says God, "I hadn't thought of that," and promptly vanishes in a puff of logic. "Oh, that was easy," says Man, and for an encore goes on to prove that black is white and gets himself killed on the next zebra crossing. ------ art_3178_28588675.1168431237263--