0

可能重复:
类和实例
使用相同的方法同时使用来自类和实例的方法

我正在做一个项目,我们有用 python 编写的测试用例。在某些测试用例中,我们在 setUpClass 中进行大部分设置,在某些情况下在 setUp 中进行设置。例如,我们在数据库中准备数据。我们有填充数据库等的辅助方法。我想要的是既作为类方法又作为实例方法工作的方法。例如:

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 将不起作用。

当然,我们可以让它成为一个静态方法,将类或实例作为参数,但我觉得这很丑陋,如果可能的话,我宁愿以更好的方式来做。

至少我想知道是否有可能让我停止思考。我希望测试用例清晰易读,如果基类中有丑陋的解决方案,我可以接受。

4

0 回答 0