如何将方法自动添加到python unit中现有的unittest类中?

如何将方法自动添加到python unit中现有的unittest类中?,python,python-unittest,Python,Python Unittest,我读过了,我明白了 现在我有两个目录和一些文件,如下所示: . |--A | |--a_A.txt | |--b_A.txt |--B | |--a_B.txt | |--b_B.txt def _p(lst): def wrapper(func): def action(self): for l in lst: func(self, l) return action return

我读过了,我明白了

现在我有两个目录和一些文件,如下所示:

.
|--A
|  |--a_A.txt
|  |--b_A.txt
|--B
|  |--a_B.txt
|  |--b_B.txt
def _p(lst):
    def wrapper(func):
        def action(self):
            for l in lst:
                func(self, l)
        return action
    return wrapper

class CTest(unittest.TestCase):
    expect = [] # A directory file list
    actual = [] # B directory file list

    @_p(lst=expect)
    def testAction(self, filename):
        self.do_compare(filename, actual[0]) # only example
我需要比较a_a.txta_B.txtB_a.txt和B_B.txt

我使用
pyunit
,因为一个directory和B directory可能有很多文件,我想在产生test*函数的每一步都比较一下,这个函数名就是filename,比如
test\u A\u

我有版本1代码,如下所示:

.
|--A
|  |--a_A.txt
|  |--b_A.txt
|--B
|  |--a_B.txt
|  |--b_B.txt
def _p(lst):
    def wrapper(func):
        def action(self):
            for l in lst:
                func(self, l)
        return action
    return wrapper

class CTest(unittest.TestCase):
    expect = [] # A directory file list
    actual = [] # B directory file list

    @_p(lst=expect)
    def testAction(self, filename):
        self.do_compare(filename, actual[0]) # only example
如果代码是这样的,那么它只有一个结果
testcase
。但是我有两个
testcase
,所以除了文件名之外,我还需要动态生成
testcase

编辑


完成了!我使用
setattr
添加动态属性。

使用您的代码编辑您的帖子,以便我们尽可能高效地帮助您possible@Clayton您好,我已经添加了一些代码与
decorator
编辑您的文章与您的代码,这样我们可以帮助您尽可能有效possible@Clayton您好,我添加了一些带有
decorator