我有以下问题:
我有类似的课程:
class Sequence1(AbstractSequence):
def Run(self):
#Something to do
def Help(self):
#Help
class Sequence2(AbstractSequence):
def Run(self):
#Something to do
class Sequence3(AbstractSequence):
def Run(self):
#Something to do
class Test1(AbstractTest):
def Body(self):
Sequence1()
Sequence2()
Sequence3()
def ReportGeneration():
#Do some report generation
def CheckPreconditon():
#Do some report generation
class Test2(AbstractTest):
def Body(self):
Sequence2()
Sequence3()
def ReportGeneration():
#Do some report generation
def CheckPreconditon():
#Do some report generation
class RunTests():
SequencesToDo = []
def runTests(self):
Test1()
Test2()
我想将Test1和Test2中的Sequences实例附加到RunTests类的SequencesToDo列表中,但我真的不知道如何解决它。这样做的目的是测试人员应该只使用序列构建测试(它们已经被编写),然后我应该将它们(序列)存储在列表中,我可以从中运行整个测试或任何其他函数在序列内部(即:帮助或前置条件检查)。
我不知道我是否走在正确的道路上,这是解决问题的有效方法,还是应该找到另一种方法?
答案 0 :(得分:0)
也许我误解了你想要完成的事情,但你应该能够将Test1()和Test2()附加到SequencesToDo。然后,您可以通过执行以下操作来运行序列:
for sequence in SequencesToDo:
sequence
我并没有真正看到这一点,因为你可以按照你的方式运行它们。也许你想存储正在运行的实例的结果?
就您的问题而言,将测试与实际代码分开并不是一个坏主意。查看单元测试。 unittest模块可以为您提供所需的确切内容。