Я получаю следующее сообщение об ошибке__init__ принимает один аргумент 2 дается UnitTest
TypeError: __init__() takes exactly 1 argument (2 given)
Когда я запускаю следующий питона:
import unittest
from unittest import TestCase
class myClass(unittest.TestCase):
def __init__(self):
pass
if __name__ == '__main__':
unittest.main(argv=sys.argv, testRunner = unittest.TextTestRunner(verbosity=2))
Любые идеи? Мне нужно запустить init, так как я хочу ТОЛЬКО выполнять мою настройку один раз. Не один раз для каждого теста. Это будет большой оптимизацией для общего времени тестирования.
Вот остальная часть ползания стека:
Traceback (most recent call last):
File "./RestEditRecord.py", line 1439, in <module>
unittest.main(argv=sys.argv, testRunner = unittest.TextTestRunner(verbosity=2))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/main.py", line 94, in __init__
self.parseArgs(argv)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/main.py", line 149, in parseArgs
self.createTests()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/main.py", line 155, in createTests
self.test = self.testLoader.loadTestsFromModule(self.module)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py", line 65, in loadTestsFromModule
tests.append(self.loadTestsFromTestCase(obj))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py", line 56, in loadTestsFromTestCase
loaded_suite = self.suiteClass(map(testCaseClass, testCaseNames))
TypeError: __init__() takes exactly 1 argument (2 given)
D Вам нужно вызвать супер конструктор? –
Используйте '' setUpClass() '] (https://docs.python.org/3/library/unittest.html#unittest.TestCase.setUpClass) вместо' __init __() '. – Kevin