【发布时间】:2021-07-14 15:16:28
【问题描述】:
我有一个简单的任务:我们有类 TestingClass,我们想简单地测试他的方法。我们有用于测试目的的 TestHelper 类。
class TestingClass():
def testing_method_1(self):
return False
def testing_method_2(self):
return True
class TestHelper():
def __init__(self, class_name):
pass
def add(self, func_name, func_result):
pass
def run(self):
pass
helper = TestHelper(TestingClass)
helper.add(“testing_method_1”, False)
helper.add(“testing_method_2”, True)
result = helper.run()
我的目标实现类 TestHelper 的方法。我为自己解决了这个问题,但我认为这是不好的认识。我初始化空字典和测试类。接下来,我将每个方法和测试方法结果添加到字典中。在运行方法中我比较结果。
class TestHelper():
def __init__(self, class_name):
self.test_class = class_name()
self.func_list = {}
def add(self, func_name, func_result):
temp = 'self.test_class.' + func_name
self.func_list[temp] = func_result
def run(self):
for f in self.func_list.keys():
if eval(f)() == self.func_list[f]:
print('yes')
else:
print('no')
我能以最好的方式解决它吗?谢谢!
【问题讨论】:
标签: python class python-class