코드를 구현하던 중에 "There were failing tests. See the report at:" 이라는 오류가 발생했다.
오류의 발생이유와 해결방법을 알아보자.
name과 권한을 부여받는 간단한 회원가입 기능을 만들고 테스트를 진행하던 중 이런 에러가 떴다.
Execution failed for task ':test'. > There were failing tests. See the report at: file:///E:/runningFile/#%$#%//build/reports/tests/test/index.html
그렇다면 컴파일자체가 안된다는걸까?
Settings -> Gradle - >
이 설정을 변경하니 테스트가 정상작동했다.
초반에 변경해둔줄 알았는데 설정을 안했었나보다!
강의를 들을때는 IntelliJ IDEA로 선택하고 동작을 확인하는게 더 빠르고 복잡하지 않다고 했는데 Gradle로 실행하면 어떤점때문에 테스트실패가 뜨는건지 궁금해졌다.
그래서 알아보았다.
인텔리제이에서 Gradle로 테스트를 실행하는 방식과 IntelliJ IDEA에서 직접 제공하는 기능으로 테스트를 실행하는 방식에는 몇 가지 차이점이 있다.
Gradle로 테스트 실행하는 경우:
Gradle은 빌드 도구로서 다양한 기능을 지원하고 테스트 실행역시 Gradle을 통해 수행됩니다.
Gradle을 사용하면 빌드 스크립트(build.gradle 파일)를 통해 프로젝트를 구성하고 관리할 수 있고,
따라서 빌드와 테스트 실행에 대한 세부적인 설정을 build.gradle 파일에서 관리할 수 있습니다.
IntelliJ IDEA로 테스트 실행하는 경우:
IntelliJ IDEA는 통합 개발 환경(IDE)로서 자체적으로 빌드와 테스트 실행 기능을 제공합니다.
따라서 IntelliJ IDEA에서 직접 테스트를 실행할 수 있습니다.
IntelliJ IDEA는 Gradle과 호환되는 IDE이므로 Gradle 프로젝트를 그대로 가져와서 사용할 수 있습니다.
그러나 IntelliJ IDEA의 기본 설정은 Gradle 대신 IntelliJ IDEA 자체 빌드 및 테스트 기능을 사용하도록 되어 있습니다.
Gradle로 실행할 때와 IntelliJ IDEA로 실행할 때의 성능 차이나 테스트 결과에는 큰 영향을 주지 않지만 일부 상황에서는 다른 동작을 할 수 있으며, 일반적으로 IntelliJ IDEA에서 제공하는 기능을 사용하는 것이 더 편리한 경우가 많다고 한다.
IntelliJ IDEA는 자제적으로 기능을 제공하기 때문에 프로젝트의 설정이 간편하고 편리하게 사용할 수 있다는 장점이 있다.
단, Gradle을 이용한 빌드 설정이 복잡하거나 사용자 정의한 설정이 필요한 경우에는 Gradle로 실행하는 것이 더 적절할 수 있다고 한다.
나는 지금 간단한 코드만 구현하고 있으며, 아직 스프링 부트를 접목시키지 않은 순수한 코드로 구현중이라서 IntelliJ IDEA로 사용하는게 맞다고 생각한다.
Gradle로 실행할 때와 IntelliJ IDEA로 실행할 때의 성능 차이나 테스트 결과에는 큰 영향을 주지 않습니다.
따라서 일반적인 경우에는 IntelliJ IDEA에서 제공하는 기능으로 테스트를 실행하는 것이 편리하고 권장되는 방법입니다. 그러나 프로젝트의 특성이나 개발 환경에 따라 Gradle로 실행하는 것이 필요한 경우도 있을 수 있습니다.
설정을 Gradle에서 intelliJ IDEA로 변경 후 실행했다.
테스트 및 빌드시에 Gradle로 실행할 때와 IntelliJ IDEA로 실행할 때의 성능 차이나 결과에는 큰 영향을 주지 않지만, 일부 상황에서는 나와 같은 문제가 발생할 수 있다.
IntelliJ IDEA에서 제공하는 기능으로 테스트를 실행하는 것이 편리하고 권장되는 방법이기 때문에 간단한 테스트용이나 연습용 프로젝트를 진행하는것이라면 IntelliJ IDEA를 사용하면 될 것 같다.