홈>
전역 확장을 테스트 하는 것이 가능하다는 것을 알고 있습니다. 수업 내 Kotlin 확장 프로그램을 테스트하려면 어떻게해야합니까?
class D
class C {
fun D.foo() {
println("123")
}
}
D.foo
를 해석해야합니까?
D
의 사적으로
아니면 단위 테스트를 할 수 있습니까?
- 답변 # 1
- 답변 # 2
foo
함수는C
의 공개 메소드입니다 메소드 호출에는 두 개의 수신자가 없으므로with
를 사용해야합니다. 기능. 이렇게 :with(C()) { D().foo() }
관련 자료
- python - 클래스 내부의 변수를 사용하여 클래스를 인스턴스화하는 방법
- java - 메인 클래스 내부의 메서드에서 객체 배열을 호출하는 방법은 무엇입니까?
- python - 클래스 내부의 함수가 실행되지 않음
- dart - 형식화 된 명명 된 개체 내부에 클래스의 메서드 하위 그룹 캡슐화
- javascript - 클래스 구성 요소의 조건이 반응하면 내부에서 함수를 호출하는 방법은 무엇입니까?
- oop - abstact 클래스 멤버에 대해 Kotlin에서 '재정의'키워드를 사용해야하는 이유는 무엇입니까?
- javascript - React 클래스 컴포넌트의 함수 내 SetState
- Android Kotlin - android kotlin - 툴바 안에 로고 설정
- Kotlin에서지도 내부의 배열을 수정하는 방법
- oop - Vuex 상태의 Javascript 클래스에서 누락 된 메서드
- python - 클래스 내에서`__attr`에 액세스 할 때 이름 맹 글링은 어떻게 작동합니까?
- ruby/rails - 연결에서 호출되는 클래스 메서드 내에서 인스턴스에 액세스하는 방법
- python - 이니셜 라이저를 호출하지 않고 클래스 테스트
- Android Studio 41에서 Kotlin Android 확장 프로그램을 기본적으로 활성화하는 방법
- javascript - 객체 내부에 클래스 포함
- android - StatelessWidget 클래스 내에서 setState () 함수를 사용하는 방법
- android - kotlin - 데이터 클래스 목록에서 특정 값을 업데이트하는 방법
- inheritance - kotlin 클래스 확장은 목록 컨텍스트에서 사용될 때 자식 대신 부모 클래스의 값을 확인합니다
- datetime - Kotlin 데이터 클래스에서 ZonedDateTime 직렬화
- android - Kotlin에서 부 풀리는 클래스 오류를 어떻게 해결할 수 있습니까?
with
를 사용하십시오apply
또는run
(또는 둘러싸는C
를 제공하는 다른 방법 예)foo
에 액세스D
의 방법 .직접 액세스 할 수없는 이유는
D.foo
입니다.C
유형의 인스턴스에서만 액세스 할 수 있습니다. .샘플 :
다음도 작동하지만 사용법이 좋지 않습니다 :
재미있는 것 :이 토론에서는 여러 수신자에 대한 지원이 백 로그에 있다고 언급하지만 추가 토론에서는 여러 수신자가 지원되지 않으며이를 지원할 계획이 없다고 말합니다. 나중에 지원이있을 수 있으며이를 호출하는 방법이 쉬워 질 수 있습니다.