믹스 인 수업이 두 개 있습니다. Mixin 클래스의 메소드 중 하나는 다른 클래스에서 메소드를 호출하는 것입니다. 이 두 믹스 인에서 상속하여 서브 클래스를 만들 때 모든 것이 잘 작동합니다.
class FirstMixin(object):
def method(self):
some logic here
self.method_of_sub_class()
class SecondMixin(object):
def method_of_sub_class()
pass
class BaseClass(SecondMixin, FirstMixin):
pass
FirstMixin 클래스에 대한 단위 테스트 케이스를 작성할 때
method_of_sub_class
로 인해 실패했습니다.
요구. 다른 클래스에서 메소드를 호출하는 첫 번째 MixIn 클래스에 대한 단위 테스트 케이스를 작성하려면 어떻게해야합니까?
- 답변 # 1
관련 자료
- python - 회의 관리 클래스를위한 단위 테스트 작성
- python - 클래스가 유형이 아닌 객체에서 상속한다는 것은 무엇을 의미합니까?
- javascript - 마우스를 가리킬 때 'li'에 클래스를 추가하고 마우스를 올리지 않은 클래스를 추가하는 방법은 무엇입니까?
- java - 문자열로 날짜와 시간을 얻을 수있는 사용자 정의 클래스를 만들었습니다 객체에 액세스하고 클래스에 데이터를 설정하고 싶습니다
- "ul"/ "li"태그가있는 HTML DOM에서 Selenium 선택 클래스를 사용하는 방법
- java - 정적 메소드가있는 클래스를 조롱 할 때 예외가 발생했습니다
- ruby on rails - 현재 사용자의 user_id가 필요한 클래스의 데이터를 어떻게 시드합니까?
- serialization - Java 클래스에서 직렬화 할 수없는 객체를 어떻게 찾을 수 있습니까?
- typescript - 일반 각도 구성 요소 테스트 (일반 클래스 아님)
- c++ - 멤버 함수 내에서 인수의 클래스 멤버에 액세스
- c++ - 파생 클래스를 가리키는 For 루프 및 기본 클래스 포인터 문제
- c++ - 기본 클래스를 가리키는 파생 클래스 포인터가 파생 클래스 멤버 함수를 호출 할 수있는 이유는 무엇입니까?
- typescript - 속성 인 클래스에서 클래스에 액세스
- python - 이니셜 라이저를 호출하지 않고 클래스 테스트
- c# - 한 클래스에서 다른 클래스의 변수에 액세스
- C ++에서 nullptr을 사용하여 클래스 멤버에 액세스
- oop - 이 Uml 다이어그램에서 좌석 등급은 어떤 연결을 사용해야합니까?
- c# - WPF 앱 클래스에서 변수에 액세스하는 기본 방법
- c# - 다른 클래스의 메서드를 사용하여 만든 클래스의 객체/인스턴스 값에 액세스
- c# - 새 클래스를 만들지 않고 xxx를 익명 클래스 (2 개의 속성 만 필요) 목록 객체로 매핑하는 방법은 무엇입니까?
@chepner가 정확합니다. 수업이 완전히 캡슐화되지 않았기 때문에 단위 테스트에 문제가 있습니다. FirstMixin은 직접 사용할 수있는 메소드 만 호출해야합니다. 프로그램의 더 큰 아키텍처를 모르면 말하기가 어렵지만 한 가지 해결책은 패스 스루
method_of_subclass
를 추가하는 것입니다FirstMixin
로 다소 복잡한 디자인으로 이어지지 만 추상적 인 방법으로 작동합니다. FirstMixin이 SecondMixin에 정의 된 메소드를 호출해야하는 경우 두 개의 개별 믹스 인이 필요한 이유를 스스로 묻는 것이 더 좋습니다.