Python 2.4 — unittest: TypeError: run() принимает ровно 2 аргумента (задан 1)

#python #unit-testing #typeerror

#python #модульное тестирование #ошибка типа

Вопрос:

Я не совсем понимаю это, следующий код отлично работает с Python 2.6

 if __name__ == '__main__':

    suite = unittest.TestSuite()
    suite.addTest(TestMrdfWriter("testParParser"))
    suite.addTest(TestMrdfWriter("testMrdfWriter"))
    unittest.TextTestRunner(verbosity=2).run(suite())
 

Однако с Python 2.4 я получаю следующую ошибку

 > Traceback (most recent call last):   File "./src/TestMrdfWriter.py",
> line 42, in ?
>     unittest.TextTestRunner(verbosity=2).run(suite())   File "/home/producer/python2.4/lib/python2.4/unittest.py", line 428, in
> __call__
>     return self.run(*args, **kwds) TypeError: run() takes exactly 2 arguments (1 given)
 

Есть идеи?

Ответ №1:

Я не думаю, что код работает и в Python2.6. Это должно быть

 unittest.TextTestRunner(verbosity=2).run(suite)
 

без круглых скобок после suite .

Комментарии:

1. спасибо, что это была проблема, хм, странно, что все работало нормально при запуске через модуль eclipse PyDev