0

ここに私がテストしている関数の定義があります:

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 番目の引数はありますか? セルフですか?

4

1 に答える 1

2

メソッドが最初の引数としてrunCMD欠落していると言えます。self

これはバインドされたインスタンス メソッドであるため、Python はインスタンスを最初の引数として暗黙的に送信しています。そのため、5 つの引数が渡されていることがわかります。

于 2012-12-30T15:56:18.327 に答える