假设我使用一个库的抽象类作为我自己的抽象基类的基,那么
class LibBaseClass():
some_var = None # In any non-abstract versions of this class, this must be set
def __init__(self):
if some_var is None:
raise ImproperlyConfigured("some_var Not set!")
现在我有了自己的基类使用这个类。。。你知道吗
class MyBaseClass(LibBaseClass():
some_var = None # Still None, doesn't make sense for this var to be set to anything
def my_additional_method(self):
....
现在,当我来测试MyBaseClass时,在setUp()
方法中,我想初始化类,因此:
my_class = MyBaseClass()
当然,这会引起库基类init的错误。我正在寻找解决这个问题的最整洁的方法,但我完全不知道该嘲笑什么。这个错误并不重要/不会影响我编写和运行的任何测试,所以我只需要一种避开这个特定错误的方法。你知道吗
我认为你在设计上有问题:
some_var = None # In any non-abstract versions of this class, this must be set
some_var = None # Still None, doesn't make sense for this var to be set to anything
这两种说法互相矛盾。 因此,您应该设置一些变量,或者在未设置异常时停止生成异常。 另外,如果MyBaseClass应该是抽象的,那么不应该实例化它。你知道吗
编辑:
然而,如果你真的知道你在做什么,你可以很容易地放弃父母
__init__
:MyBaseClass.__init__ = lambda self: None
相关问题 更多 >
编程相关推荐