Unittest and dynamically created methods

JAWS jaws at ericsson.ca
Tue Oct 14 15:48:08 EDT 2003


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20031014/05aea8a9/attachment.html>


More information about the Python-list mailing list