クラスに __init__ メソッドがあることを確認する
メタデータ
ID: python-best-practices/init-method-required
言語: Python
重大度: エラー
カテゴリー: ベストプラクティス
説明
クラスが __init__
メソッドを持っていることを確認します。このチェックは、クラスがデータクラス (@dataclass でアノテーションされている) の場合はバイパスされます。
非準拠コードの例
class Foo: # __init__ を定義する必要があります
def foo(bar):
pass
def bar(baz):
pass
準拠コードの例
class Foo(Bar):
def foo():
pass
class UserLoginTest(TestCase):
def setUp(self):
self.username = 'testuser'
self.password = 'testpassword'
self.user = User.objects.create_user(username=self.username, password=self.password)
def test_correct_credentials(self):
user = authenticate(username=self.username, password=self.password)
self.assertIsNotNone(user)
self.assertEqual(user, self.user)
def test_incorrect_credentials(self):
user = authenticate(username=self.username, password='wrongpassword')
self.assertIsNone(user)
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
]
operations = [
]
@dataclass
class Foo: # dataclass に __init__ は必要ありません
value = 51
class Foo:
def __init__(self):
pass