문맥:
현재 Python에서 작은 프로젝트를 진행하고 있습니다. 나는 일반적으로 문서화되어 일부 공공 방법으로 내 수업을 구성하지만, 주로 높은 수준의 개념 (클래스의 사용자가 알고 사용해야하는지), 그리고 무리를 다루는 숨겨진 의 담당 방법 (밑줄로 시작하는) 복잡하거나 낮은 수준의 처리.
코드에 대한 자신감을 갖고 나중에 수정해도 이전 동작이 중단되지 않도록 테스트가 필수적이라는 것을 알고 있습니다.
문제:
신뢰할 수있는 기반에서 더 높은 수준의 공개 메소드를 빌드하기 위해 일반적으로 개인 메소드를 테스트합니다. 코드 수정으로 회귀가 발생했는지 여부와 위치를 쉽게 찾을 수 있습니다. 이는 내부 테스트가 약간의 수정으로 인해 중단 될 수 있으며 수정 / 교체해야 함을 의미합니다.
그러나 개인 테스트 단위 테스트는 적어도 논쟁의 여지가 있거나 더 자주 나쁜 관행으로 간주됩니다. 이유는 : 공개 행동 만 테스트해야합니다 ( 참조 )
질문:
모범 사례를 따르는 것에 관심이 있으며 이해하고 싶습니다.
- 개인 / 숨겨진 방법에서 단위 테스트를 사용하는 것이 왜 나쁜가 (위험은 무엇입니까)?
- 공개 방법이 저수준 및 / 또는 복잡한 처리를 사용할 수있는 모범 사례는 무엇입니까?
정밀성 :
- 질문 하는 방법 이 아닙니다 . 파이썬은 개인 정보 보호의 진정한 개념을 가지고 있지 않으며 숨겨진 메소드는 단순히 나열되지 않지만 이름을 알면 사용할 수 있습니다
- 나는 프로그래밍 규칙과 패턴을 배운 적이 없다 : 나의 마지막 수업은 80 년대부터 시작되었다. 나는 주로 시행 착오와 인터넷 참조를 통해 언어를 배웠다.