개발을 할 때, 안드로이드 뿐만 아니라 서버나 웹같이 다른 플랫폼도 고려한다면 안드로이드에 종속되지 않는 모듈을 만들어야할 때가 있다.
코틀린 같은 경우에는 스프링부트와 같이 다른 곳에서도 쓰이는 언어기 때문에 범용적으로 쓸 수 있는 기능인 경우 안드로이드 모듈 말고 코틀린 모듈로 만들면 유용할 때가 있다.
이번 프로젝트를 하면서 AI 도슨트 어플을 만드는데, 이러한 경우를 고려해서 코틀린 모듈을 만들기로 했다.

이렇게 New Module이 나타나는데 눌러주면

왼쪽에서 Java or Kotlin Library를 선택해주면 된다.

그러면 이렇게 lib 모듈이 생성된다.
여기서 test코드를 작성하려고 test에 대고 우클릭을 하면

이렇게 파일을 추가하는 항목이 안나오는데 일부러 그렇게 만든건지 아니면 오류인진 모르겠지만 작성일 기준으로는 뭐가 마땅한게 안보인다.
이럴때를 대비해서(?) 우리는 프로젝트의 기본적인 구조를 알고 있으면 좋다.
사실 안드로이드만 하면 Android 개발할 때 편하게 Android Studio에서 파일을 보여주기 때문에 잘 모를수도 있다.
하지만 실제 프로젝트 디렉토리 구조는 Project로 봐야한다.

해당 보기로 바꾸면

이렇게 되는데, 우리가 app모듈에서 코드를 작성했던 부분은 Main안에 들어가있고 test코드와 같은 부분은 다른 디렉토리가 있다.
그리고 그 안을 보면

이렇게 되어있다.
우리가 만든 모듈도 저런 형식으로 만들어주면 된다.
완료하고 다시 Android 보기를 누르면

이렇게 test코드를 작성할 수 있다.
test코드를 작성하기 위해서 Junit을 가져오는건 build.gradle에서 추가해주면 된다. 해당 모듈을 만들때 그래들을 kts로 설정했다면 밑에 해당 모듈의 build.gradle.kts가 생성되어있는데
dependencies{
testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.1")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.8.1")
}
요런식으로 필요한거 dependencies 추가하면 된다!
'개발 > 안드로이드' 카테고리의 다른 글
| [Android] 모듈 갖고 오기 (0) | 2023.09.05 |
|---|---|
| [Android] 모듈: 코드의 재사용 (1) | 2023.08.09 |
| [Android] 패키지 구조 (4) | 2023.08.09 |
| [Android] Coroutine(기초) (2) | 2023.05.30 |
| [Android] Utility (0) | 2023.05.30 |