[android] Espresso 테스트 멀티 모듈 지원

Android 앱을 개발하는 경우에는 앱의 크기를 관리하기 위해 멀티 모듈 아키텍처를 사용하는 것이 좋습니다. 그러나 여러 모듈을 사용하면 테스트 작성과 관리가 어려울 수 있습니다. 이를 해결하기 위해 Espresso가 멀티 모듈을 지원하도록 업데이트되었습니다.

Espresso란 무엇인가?

Espresso는 안드로이드 앱을 테스트하기 위한 사용자 인터페이스(UI) 테스트 프레임워크입니다. 이를 사용하여 실제 사용자가 앱을 다루는 방식으로 앱의 테스트를 자동화할 수 있습니다.

멀티 모듈 지원의 중요성

안드로이드 앱을 멀티 모듈 아키텍처로 구성하면 개발자는 앱을 더 작은 단위로 나누어 개발하고 라이브러리 및 기능을 재사용할 수 있습니다. 그러나 멀티 모듈 아키텍처는 UI 테스트를 관리하기 어렵게 만들 수 있습니다.

Espresso의 멀티 모듈 지원

Espresso 3.3.0 버전부터 멀티 모듈 구조를 지원합니다. 이를 통해 앱의 각 모듈에 대한 테스트를 개별적으로 작성하고 실행할 수 있습니다. 또한 각 모듈의 의존성을 쉽게 관리할 수 있으며, 빠르고 안정적인 테스트 속도를 유지할 수 있습니다.

예를 들어, 단일 모듈에서 ActivityScenario를 사용하여 액티비티 테스트를 작성할 때, 멀티 모듈을 사용할 경우 ActivityScenario.launch() 메서드에 다른 모듈을 지정하는 옵션을 제공합니다.

ActivityScenario.launch("com.example.app2.MainActivity") // 다른 모듈의 액티비티를 실행하는 예시

멀티 모듈에서 테스트를 작성할 때, Espresso는 각 모듈에 맞는 리소스 및 의존성을 올바르게 사용할 수 있도록 도와줍니다.

멀티 모듈 지원은 Espresso의 사용성을 향상시키고, 안드로이드 앱의 개발 및 테스트를 보다 효율적으로 처리할 수 있게 해줍니다.

결론

Espresso의 멀티 모듈 지원은 안드로이드 앱의 테스트에 더 많은 유연성을 제공합니다. 멀티 모듈 아키텍처를 채택한 개발자들은 이제 모듈별로 테스트를 관리하고 실행하는 것이 더 쉬워졌으며, 앱의 품질을 높일 수 있게 되었습니다.


참고 문서: