向 TestSuite 添加简单的测试方法
Add simple test method to TestSuite
如何将简单的测试方法从 unittest.TestCase
添加到 TestSuite
。正如我所见,只能将整个 class 添加到套件中,例如我想要这样的东西:
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
不调用。
您 运行 测试套件如何?我用了你的代码 运行 它使用 '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)
而且有效。
如何将简单的测试方法从 unittest.TestCase
添加到 TestSuite
。正如我所见,只能将整个 class 添加到套件中,例如我想要这样的东西:
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
不调用。
您 运行 测试套件如何?我用了你的代码 运行 它使用 '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)
而且有效。