如何将方法自动添加到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.txt和a_B.txt,B_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