pyunit测试失败,因为传入5个参数时,方法只接受4个参数

2024-04-19 17:13:55 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是我正在测试的函数的定义:

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)

我做错什么了?有没有隐含的第五个论点?是自己吗?你知道吗


Tags: fromtestimporttruemaindeflinetests
1条回答
网友
1楼 · 发布于 2024-04-19 17:13:55

我想说runCMD方法缺少self作为第一个参数。你知道吗

因为它是绑定实例方法,所以Python隐式地将实例作为第一个参数发送,这就是为什么您会看到5个参数被传递的原因。你知道吗

相关问题 更多 >