Python 向TestSuite添加简单的测试方法
如何将简单测试方法从Python 向TestSuite添加简单的测试方法,python,unit-testing,test-suite,Python,Unit Testing,Test Suite,如何将简单测试方法从unittest.TestCase添加到TestSuite。正如我所看到的,只可能将整个类添加到套件中,例如,我想要这样的东西: import unittest class MyBaseTestCase(unittest.TestCase): @classmethod def setUpClass(cls): cls.abs = "test" class MyTestClass(MyBaseTestCase): def test
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'对象没有属性“abs”
。它似乎是作为测试运行的,但是setUpClass
不会调用。您是如何运行测试套件的?我使用了您的代码并使用“python3-m unittest.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)
它可以工作。你能发布你的MyTestClass代码吗?是的,添加了完整的示例谢谢你的观点。我用IntelljIdea来运行它。然后将其配置为作为模块运行,并在那里选择test.MyTestSuite,这会生成如下命令:
python.exe C:\Users\Me\.IntelliJIdea2018.3\config\plugins\python\helpers\pycharm\\u jb\u unittest\u runner.py--target test.MyTestSuite
,使用python-m unittest test test.MyTestSuite
调用python。如果我使用命令python-m unittest test.py
选择带有testSuite的整个文件,它将开始工作。