具有多个子类的Python测试继承

2024-10-01 15:39:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想编写一个Python测试套件,它允许我从单个TestBaseClass继承并多次将其子类化,每次更改其成员变量中的一些小细节。在

比如:

import unittest

class TestBaseClass(unittest.TestCase):

  def setUp(self):
    self.var1 = "exampleone"

class DetailedTestOne(TestBaseClass):
  def setUp(self):
    self.var2 = "exampletwo"

  def runTest(self):
    self.assertEqual(self.var1, "exampleone")
    self.assertEqual(self.var2, "exampletwo")

class DetailedTestOneA(DetailedTestOne):
  def setUp(self):
    self.var3 = "examplethree"

  def runTest(self):
    self.assertEqual(self.var1, "exampleone")
    self.assertEqual(self.var2, "exampletwo")
    self.assertEqual(self.var3, "examplethree")

... continue to subclass at wish ...

在本例中,DetailedTestOne继承自TestBaseClass,DetailedTestOneA继承自DetailedTestOne。在

通过上面的代码,我得到:

^{pr2}$

如需详细说明:

AttributeError: 'DetailedTestOneA' object has no attribute 'var1'

了解详细信息

当然,var1、var2、var3可以是TestBaseClass中在第一个实例中声明的同一个变量的一些成员。在

对如何达到这种行为有什么想法吗?在


Tags: selfdefsetup成员unittestclassassertequalvar1

热门问题