在实例化时将类实例附加到列表中

时间:2014-08-28 20:41:58

标签: python python-2.7

我有以下问题:

我有类似的课程:

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列表中,但我真的不知道如何解决它。这样做的目的是测试人员应该只使用序列构建测试(它们已经被编写),然后我应该将它们(序列)存储在列表中,我可以从中运行整个测试或任何其他函数在序列内部(即:帮助或前置条件检查)。

我不知道我是否走在正确的道路上,这是解决问题的有效方法,还是应该找到另一种方法?

1 个答案:

答案 0 :(得分:0)

也许我误解了你想要完成的事情,但你应该能够将Test1()和Test2()附加到SequencesToDo。然后,您可以通过执行以下操作来运行序列:

for sequence in SequencesToDo: sequence

我并没有真正看到这一点,因为你可以按照你的方式运行它们。也许你想存储正在运行的实例的结果?

就您的问题而言,将测试与实际代码分开并不是一个坏主意。查看单元测试。 unittest模块可以为您提供所需的确切内容。