개발/개발관련

[개발관련] No Test Roots Found

mabb 2023. 8. 3. 15:17
반응형

\No Test Roots Found

JUnit 테스트 코드를 생성하고자 하는 클래스에 Alt + Enter로 Create Test를 누르자 위와 같은 팝업이 나타났다.

 

Test 루트를 인식하지 못해 발생한 문제였다.build.gradle에 소스디렉터리에 대한 설정을 넣은 것과 관련이 있어 이를 수정해 보았다. test의 srcDirs 가 'test'인 것을 'src/test/java'로 변경하였다. (사실 sourceSets 설정을 하지 않으면 해결된다. Gradle에서는 기본적으로 인식하는 프로젝트 레이아웃이 정해져 있기 때문이다.. src/main/java, src/test/java... 등)

build.gradle

sourceSets {
    main {
        java {
            srcDirs = ['src/main/java']
        }
    }

    test {
        java {
            srcDirs = ['test']
        }
    }
}
sourceSets {
    main {
        java {
            srcDirs = ['src/main/java']
        }
    }

    test {
        java {
            srcDirs = ['src/test/java']
        }
    }
}

 

(또는 sourceSets {} 자체를 제거)

 

src/test/java  Test sources root 로 표기되는 모습

 

테스트 코드 생성을 원하는 클래스명에 포인터를 두고 Alt + Enter - Create Test

 

테스트 코드 생성 시점에 패키지가 없는 경우 Show only existing source roots 체크를 풀어주어야 test 소스 디렉토리를 선택할 수 있다.

 

테스트 코드가 test 루트에 잘 생성된 모습

 

테스트 코드가 잘 생성되었다. 자동생성할 수 있는 것들을 일단 전부 체크하여 생성해보았다.

TDD(Test Driven Development) 관점이라면 실무에서 어떻게 작성할까? 기능을 구현하기 전에 껍데기인 클래스에서 테스트 코드의 틀을 생성하고 테스트를 먼저 작성한 후 소스에 기능을 구현하는 것일까. 실제 업무 방식이 궁금하다.

반응형