Python 如何从基类装饰子类方法?

Python 如何从基类装饰子类方法?,python,unit-testing,Python,Unit Testing,我有一个基本的测试用例类,它的子类应该用flakydecorator()来修饰,换句话说,我想把flakydecorator应用到每个测试用例(测试方法)上,但是从一个基类开始,使用单个位置,而不是修饰每个测试类或测试用例(有很多测试用例…) 但如果我将decorator应用于基类CustomTestCase,它将影响每个方法(包括帮助器方法、构造函数等)。是否可以从基类将其仅应用于测试用例(方法以“test”开头)。我试图通过访问CustomTestCase.setUp中的self.\u te

我有一个基本的测试用例类,它的子类应该用flakydecorator()来修饰,换句话说,我想把flakydecorator应用到每个测试用例(测试方法)上,但是从一个基类开始,使用单个位置,而不是修饰每个测试类或测试用例(有很多测试用例…)

但如果我将decorator应用于基类CustomTestCase,它将影响每个方法(包括帮助器方法、构造函数等)。是否可以从基类将其仅应用于测试用例(方法以“test”开头)。我试图通过访问CustomTestCase.setUp中的self.\u testMethod来实现这一点,但没有成功

# base class
@flaky(max_runs=3, min_passes=1)
class CustomTestCase(SimpleTestCase):
    """
    base class for tests using Selenium.
    """
    @classmethod
    def setUpClass(cls):
        pass

    def setUp(self):
        pass


# child class - test suite
class TestSomething(CustomTestCase):
    """
    This class contains all different tests
    """
    def test_something(self):
        """ should be decorated by flaky """
        self.assertEqual(1, randint(0, 1))

    def test_another(self):
        self.assertEqual(1, randint(0, 1))

实际上,SetUp方法运行两次并不成问题。关于helper方法,它不应该被重新执行。所以一切都很好