Тест pyunit не выполнен, потому что метод принимает только 4 аргумента, когда 5 передается в
Вот определение функции, которую я тестирую:
def runCMD(cmd,subString=-1,stripSlashes=True,getReturnCode=False):
Вот мой тестовый класс
import unittest
from class_backups import *
class tests_backups(unittest.TestCase):
def test_runCMD(self):
cLInstance = class_backups()
assert(cLInstance.runCMD("ls",-1,True,True)==0)
# When this module is executed from the command-line, run all its tests
unittest.main()
Вот моя ошибка:
E
======================================================================
ERROR: test_runCMD (__main__.tests_backups)
----------------------------------------------------------------------
Traceback (most recent call last):
File "tests_backups.py", line 11, in test_runCMD
assert(cLInstance.runCMD("ls",-1,True,True)==0)
TypeError: runCMD() takes at most 4 arguments (5 given)
----------------------------------------------------------------------
Ran 1 tests in 0.000s
FAILED (errors=1)
Что я делаю неправильно? Есть ли неявный 5-й аргумент? это сам?
1 ответ
Решение
Я бы сказал, что runCMD
метод отсутствует self
в качестве первого аргумента.
Поскольку это связанный метод экземпляра, Python неявно отправляет экземпляр в качестве первого аргумента, и поэтому вы видите, как передаются 5 аргументов.