gpt4 book ai didi

python - 只导入一个类的静态方法

转载 作者:太空狗 更新时间:2023-10-29 17:30:50 53 4
gpt4 key购买 nike

我在基类中有以下装饰器:

class BaseTests(TestCase):
@staticmethod
def check_time(self, fn):
@wraps(fn)
def test_wrapper(*args,**kwargs):
# do checks ...
return test_wrapper

以及继承自 BaseTests 的以下类:

from path.base_posting import BaseTests
from path.base_posting.BaseTests import check_time # THIS LINE DOES NOT WORK!

class SpecificTest(BaseTests):

@check_time # use the decorator
def test_post(self):
# do testing ...

我想像上面那样在SpecificTest中使用装饰器,而不必使用BaseTests.check_time,因为在原始代码中它们的名称很长,而且我在很多地方都必须使用它。有什么想法吗?

编辑:我决定让 check_time 成为 BaseTests 文件中的一个独立函数,并简单地导入

from path.base_posting import BaseTests, check_time

最佳答案

简单的说

check_time = BaseTests.check_time

在你的第二个模块中:


from module_paths.base_posting import BaseTests
check_time = BaseTests.check_time

class SpecificTest(BaseTests):

@check_time # use the decorator
def test_post(self):
# do testing ...

您可能还想重新考虑将 check_time 设为静态方法,因为看起来您的用例更多地将其作为独立函数而不是静态方法来使用。

关于python - 只导入一个类的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12603541/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com