[java] 클래스를 찾을 수 없음 : IntelliJ에서 빈 테스트 스위트

대학에서 컴퓨터 과학 프로그램을 시작하고 있으며 IntelliJ에 문제가 있습니다. 단위 테스트를 실행하려고하면 메시지가 나타납니다.

Process finished with exit code 1
Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite.

또한 화면 왼쪽에 “테스트를 찾을 수 없습니다”라는 메시지가 표시됩니다. 내 테스트 코드는 다음과 같습니다.

package edu.macalester.comp124.hw0;


import org.junit.Test;
import static org.junit.Assert.*;

public class AreaTest {

    @Test
    public void testSquare() {
    assertEquals(Area.getSquareArea(3.0), 9.0, 0.001);
    }

    @Test
    public void testCircle() {
    assertEquals(Area.getCircleArea(3.0), 28.2743, 0.001);
    }
}

그리고 내 프로젝트 코드는 다음과 같습니다.

package edu.macalester.comp124.hw0;

import java.lang.Math;
public class Area {

/**
 * Calculates the area of a square.
 * @param sideLength The length of the side of a square
 * @return The area
 */
public static double getSquareArea(double sideLength) {
    // Has been replaced by correct formula
    return sideLength * sideLength;
}

/**
 * Calculates the area of a circle.
 * @param radius The radius of the circle
 * @return The area
 */
public static double getCircleArea(double radius) {
    // Replaced by correct value
    return radius * 2 * Math.PI;
}

}

테스트가 작동하도록하려면 어떻게해야합니까? 최신 버전의 IntelliJ IDEA CE를 사용하고 있습니다.



답변

같은 메시지를 받았습니다. Run / Debug 구성을 제거해야했습니다.

필자의 경우에는 전에 단위 테스트를 로컬 테스트로 실행했습니다. 그 후 테스트를 androidTest 패키지로 옮기고 다시 실행하려고했습니다. Android Studio는 마지막 실행 구성을 기억하여 동일한 오류가 발생하는 로컬 단위 테스트로 다시 실행하려고했습니다.

구성을 제거하고 테스트를 다시 실행 한 후 새로운 구성을 생성하고 작동했습니다.

여기에 이미지 설명을 입력하십시오


답변

나는 갔었다

File -> Invalidate Caches/Restart...

그리고 그것은 나를 위해 일했습니다.


답변

나는 같은 문제가 있었다. 나는 프로젝트를 재건했고 그것은 나를 도왔다.

빌드 -> 프로젝트 다시 작성으로 이동 하십시오.

그런 다음 Maven 도구를 사용하는 경우 모든 Maven 프로젝트 다시 가져 오기 옵션을 사용하는 것이 좋습니다.

도움이되지 않으면 다른 가능한 해결책을 시도해보십시오.

  • 이동 파일 -> 무효화 캐시 / 다시 시작 -> 무효화하고 다시 시작

또는:

  • Maven 프로젝트 구조에서 src / main / javajava 디렉토리를 마우스 오른쪽 버튼으로 클릭 하고 옵션으로 디렉토리 표시 -> 소스 루트를 선택하십시오.

    마찬가지로 테스트 디렉토리 와 동일하게 수행하십시오 . src / test / javajava 디렉토리를 마우스 오른쪽 단추로 클릭하고 디렉토리 표시 옵션을 선택하십시오 as- > 테스트 소스 루트

또는:

  • 실행 -> 구성 편집으로 이동하고 JUnit 섹션에서 테스트 구성 제거로 이동 하십시오 . 변경 승인. 그런 다음 테스트를 실행하십시오. 새로운 구성이 자동으로 생성되어야합니다.

또는:

  • 이동 파일 -> 프로젝트 구조 , 선택 모듈을 다음 적절한 모듈을 선택하고 이동, 경로 탭을 선택합니다.
    옵션 확인 :
    라디오 버튼 모듈 컴파일 출력 경로 사용을 선택해야합니다.

    출력 경로 는 프로젝트 내부에 있어야합니다. 또한 테스트 출력 경로 는 프로젝트 내부의 디렉토리 여야합니다. 예를 들면 다음과 유사합니다.
    출력 경로 : C : \ path \ to \ your \ module \ yourModule \ target \ classes
    테스트 출력 경로 : C : \ path \ to \ your \ module \ yourModule \ target \ test-classes

    출력 제외 경로 를 선택 해제해야합니다.


답변

테스트 폴더를 별도의 모듈로 가져온 경우에도 발생할 수 있습니다 (프로젝트보기의 폴더 아이콘에 작은 사각형이 표시됨).
프로젝트보기에서 테스트 폴더를 선택하여 모듈을 제거하고을 누르십시오 DEL.
그런 다음 테스트를 시작하십시오.
오류 메시지와 함께 팝업 대화 상자가 나타나면 모듈을 선택하지 않았다면 드롭 다운에서 루트 모듈을 지정하십시오.


답변

새로운 IntelliJ 프로젝트를 시작한 후 비슷한 문제가 발생했습니다. 모듈에 대한 “모듈 컴파일 출력 경로”가 올바르게 지정되지 않았습니다. 모듈의 “컴파일 출력 경로”의 경로를 올바른 위치에 할당하면 문제가 해결되었습니다. 컴파일 출력 경로는 프로젝트 설정에서 할당됩니다. 모듈에서 관련 모듈을 선택하고 경로 탭을 선택하십시오.

프로젝트 설정 | 모듈 대화 상자

스크린 샷

… 부모 프로젝트 폴더에있는 “output”이라는 폴더로 컴파일러 출력을 보냈습니다.


답변

제 경우에는 올바른 장소에 다른 모든 것이 있었지만 kotlin 으로 Java 라이브러리 를 작업 중 이었습니다 . 플러그인을 적용하는 것을 잊었습니다.

apply plugin: 'kotlin-android'

이제는 예상대로 작동합니다.


답변

그래서 내 문제는 폴더 이름과 관련이 있습니다. IntelliJ가 좋아하지 않는 코드 폴더 Classes 2016/2017을 호출했습니다. 슬래시 (또는 다른 불쾌감을주는 캐릭터)를 제거하고 프로젝트를 다시 가져 오기만하면됩니다.