테스트 용으로 Junit 4 Runner에서 Spek을 사용하는 Maven 기반 프로젝트를 작성했습니다.내부 가시성에 대한 Spek 액세스 Kotlin 클래스
나는 프로젝트를 코디로 구성하고 공개 수업을 문서화하거나 가시성을 줄이려면 (유용한) 제안을 받았다.
Kotlin 컴파일러가 테스트를 다른 모듈에있는 것으로 간주하는 것으로 나타났습니다. 따라서 프로젝트 레이아웃에 따라 효과적인 단위 테스트를 수행하는 것이 매우 어렵습니다. 클래스 또는 인터페이스의 가시성이 내부로 축소되면 테스트가 컴파일되지 않습니다.
해결 방법을 제안하십시오. 이 상황에서 내부 가시성 수정 기호를 사용할 수 없습니까? 이 문제를 극복 할 수있는 유용한 컴파일러 구성이나 Spek 구성이 있습니까? 나는 그 제안이 실제로 정확하다고 생각한다; 클래스가 내부적이며 향후 변경 될 수 있거나 문서가 단순히 노력할 가치가 없기 때문에 클래스를 문서화하고 싶지 않습니다.
어떤 Kotlin 버전을 사용하고 있습니까? – raniejade
테스트 목적으로 닫힌 클래스를 "열려면"openall kotlin 플러그인에 대해 들었습니다 : https://kotlinlang.org/docs/reference/compiler-plugins.html – pedrorijo91
그리고 kotlin mock과 같은 무언가가 있다면 솔루션이 거기에 – pedrorijo91