我有基础测试用例类,哪些子类应该用片状装饰器(https://github.com/box/flaky)进行装饰,换句话说,我想对每个测试用例(测试方法)应用片状装饰器,但是从一个基类,使用单个位置而不是装饰每个测试类或测试用例(有大量的测试用例......)。
但是如果我将decorator应用于基类CustomTestCase,它将影响每个方法(包括辅助方法,构造函数等)。是否可以从基类将其应用于测试用例(方法以'test'开头)。我试过通过访问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))
答案 0 :(得分:0)
实际上,当SetUp方法运行两次时,这不是问题。关于帮助方法,不应该重新执行。所以一切都很好