可能重复:
The same method for class and instance
Use a method both from a class and from an instance
我正在开发一个项目,我们用python编写测试用例。在一些测试用例中 我们在setUpClass中设置最多,在setUp中设置一些。例如,我们在数据库中准备数据。我们有帮助方法来填充数据库等。我想要的是什么 既可作为classmethod又可作为实例方法的方法。例如:
class TestBase(object):
def insertStuff(self, data):
self.cursor.execute(...)
# Usage 1, class
class Test1(TestBase):
@classmethod
def setUpClass(cls):
cls.insertStuff([1, 2, 3])
# Usage 2, instance
class Test2(TestBase):
def setUp(self):
self.insertStuff([1, 2, 3])
这不起作用,因为insertStuff不是类方法。如果我们改变它,使它成为一个类方法,用法2将无效。
当然,我们可以将它作为一个静态方法,将类或实例作为参数,但我发现它非常难看,如果可能的话,宁愿以更好的方式进行。
至少我想知道是否有可能让我不再考虑它。 如果有一个丑陋的解决方案,我希望测试用例清晰易读 在基类中,我可以忍受。