【发布时间】:2017-07-11 11:39:39
【问题描述】:
我有基本测试用例类,它的子类应该用片状装饰器 (https://github.com/box/flaky) 进行装饰,换句话说,我想将片状装饰器应用于每个测试用例(测试方法),但要从基类开始,使用单一的地方而不是装饰每个测试类或测试用例(有很多测试用例......)。
但是,如果我将装饰器应用于基类 CustomTestCase,它将影响每个方法(包括辅助方法、构造函数等)。是否可以仅将其应用于基类的测试用例(方法以“测试”开头)。我试图通过访问 CustomTestCase.setUp 中的 self._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))
【问题讨论】:
标签: python unit-testing