Pylint 抱怨在另一个文件中设置的实例成员

Pylint complains about the member of an instance that is set in another file

对于我的测试,我在 init.py 文件中创建了一个方法,我将其包含在很多测试中。除了 pylint 似乎有效之外,它还表明测试实例 class 没有会员楼层。

init.py

def create_floor(self):
    self.floor = Floor.objects.create(level=0)
    ...

test_something.py

def setUp(self):
    create_floor(self)
    self.building = Building.objects.create(floor=self.floor)
    ...

在我看来,你有一个有效的 pylint 违规行为。执行此操作的正常方法是在基 class 中定义它并继承。

如果你只想关闭 pylint,你必须:

  1. 添加相关的 ignore/disable 评论
  2. 自定义您的 pylint.rc 文件
  3. 初始化self.floor = None或者测试中的东西class__init__

1 使您的代码乱七八糟。 2 可以通过抑制该类型的所有警告来隐藏其他问题。 3 与您首先尝试通过这样做来避免的代码重复完全相同。

我的建议是仅以正确的 OO 方式进行操作并使用继承。