如何从unittest.TestCase
到TestSuite
添加简单的测试方法。如我所见,只能将整个类仅添加到套件中,例如,我想要这样的东西:
import unittest
class MyBaseTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.abs = "test"
class MyTestClass(MyBaseTestCase):
def test_abs(self):
if self.abs:
pass
class MyTestSuite(unittest.TestSuite):
def __init__(self):
super().__init__()
self.addTest(MyTestClass.test_abs)
在这里我得到一个错误:AttributeError: 'TeamcityTestResult' object has no attribute 'abs'
。似乎它可以作为测试运行,但是setUpClass
不会调用。
答案 0 :(得分:1)
您如何运行测试套件?我使用了您的代码,并使用“ python3 -m unittest test.py”运行了它:
import unittest
class MyBaseTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.abs = "test"
class MyTestClass(MyBaseTestCase):
def test_abs(self):
if self.abs:
pass
class MyTestSuite(unittest.TestSuite):
def __init__(self):
super().__init__()
self.addTest(MyTestClass.test_abs)
它有效。