向TestSuite添加简单的测试方法

时间:2018-10-09 08:45:56

标签: python unit-testing test-suite

如何从unittest.TestCaseTestSuite添加简单的测试方法。如我所见,只能将整个类仅添加到套件中,例如,我想要这样的东西:

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不会调用。

1 个答案:

答案 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)

它有效。