저는 Sandi Metz의 단위 테스트 규칙을 적용하여 실제로 공개 측에 영향을 미치는 메시지 만 공개하고 공용 항목을 테스트하여 간접적으로 모든 개인적인 것들을 테스트하려고합니다.클래스의 공용 속성을 설정하는 경우 유닛 테스트 __init__ 메소드를 사용합니까?
따라서 구현을 테스트하는 것을 피하고 언제든지 변경할 수 있습니다.
제 질문은 : __init__
메서드를 공개적으로 사용할 수있는 인스턴스 특성을 설정하는 경우 테스트해야합니다.
기본적으로 init이 개인적인 방법으로 처리되어야하는지 잘 모르겠다. (공공 물건을 설정하면 유닛 테스트를 받아야한다.)
예 :
MyClass(object):
def __init__(self, public_parameter_1, public_param_2)
self.public_parameter_1 = public_parameter_1
self.public_parameter_2 = public_parameter_2
시험 사용 pytest : 파이썬은 정말 개인 속성이 없기 때문에
def test_instance():
instance = MyClass(1, 2)
assert instance.public_parameter_1 == 1
assert instance.public_parameter_2 == 2