Unittest and dynamically created methods

Discussion in 'Python' started by JAWS, Oct 14, 2003.

  1. JAWS

    JAWS Guest

    I get this error message when trying to run a unittest test with a
    dynamically created test method:

    Traceback (most recent call last):
    File "unittest.py", line 215, in __call__
    testMethod()
    TypeError: ?() takes no arguments (1 given)


    I have no clue as to where the 1 given argument comes from...
    I am using python 2.2 and here is a copy of the code generating this:

    #! /bin/env python

    import unittest, commands, new

    class Test(unittest.TestCase):
    done = None

    def initialization(self):
    Test.port = 11000
    Test.host = 'meadow'

    def setUp(self):
    if not Test.done:
    Test.done = 1
    Test.initialization(self)

    def tearDown(self):
    pass

    def testCommandFailure(self):
    status, output = commands.getstatusoutput('python
    .../bin/uimClient.py' +
    ' -p ' + str(Test.port) + ' -h ' + Test.host)
    self.assertEqual(256, status)

    def testCommandFailure3(self):
    status, output = commands.getstatusoutput('python
    .../bin/uimClient.py' +
    ' -p ' + str(Test.port) + ' -h ' + Test.host)
    self.assertEqual(256, status)

    #====================================BASE
    TEST==================================

    if __name__ == '__main__':

    base = 'def testCommandFailure2(self):\n\t""" Testing test1 method
    """' +\
    '\n\tstatus, output = commands.getstatusoutput("python " +' + \
    '" ../bin/uimClient.py -p " + str(Test.port) + " -h " +
    Test.host)'+\
    '\n\tself.assertEqual(status, 256)\n'
    code = compile(base, 'uimClientFT.py', 'exec')
    testf = new.function(code, Test.__dict__, 'testCommandFailure2')
    setattr(Test, 'testCommandFailure2', testf)

    print Test.__dict__
    print type(Test.testCommandFailure2)

    unittest.main()



    J-P
    thankx
     
    JAWS, Oct 14, 2003
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. JAWS
    Replies:
    2
    Views:
    315
    Duncan Booth
    Oct 15, 2003
  2. JAWS
    Replies:
    0
    Views:
    249
  3. JAWS
    Replies:
    0
    Views:
    276
  4. JAWS
    Replies:
    0
    Views:
    242
  5. msimmons
    Replies:
    0
    Views:
    547
    msimmons
    Jul 16, 2009
Loading...

Share This Page