클래스를 찾을 수 없음: IntelliJ의 빈 테스트 스위트
대학에서 컴퓨터 과학 프로그램을 막 시작했는데 인텔리J와 문제가 좀 있어요.유닛 테스트를 실행하려고 하면
Process finished with exit code 1
Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite.
또한 화면 왼쪽에 "No tests was found"라는 메시지가 나타납니다.테스트 코드는 다음과 같습니다.
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;
}
}
어떻게 하면 시험을 볼 수 있을까요?인텔리J IDEA CE의 최신 버전을 사용하고 있습니다.
같은 메시지를 받았다.실행/디버깅 설정을 삭제해야 했습니다.
저 같은 경우에는 이전에 로컬 테스트로 유닛 테스트를 실행한 적이 있습니다.그 후 테스트를 Android Test 패키지로 이동하여 다시 실행해 보았습니다.Android Studio는 마지막 실행 Configuration을 기억하여 로컬 유닛 테스트로 다시 실행하려고 했습니다.그 결과 동일한 오류가 발생하였습니다.
Configuration을 삭제하고 테스트를 다시 실행한 후 새로운 Configuration이 생성되어 동작합니다.
나는 갔다.
File -> Invalidate Caches/Restart...
나한테는 효과가 있었어
저도 같은 문제가 있었어요.프로젝트를 재구축했는데 도움이 되었어요.
빌드 --> 프로젝트 재구축으로 이동합니다.
그 후 Maven 툴을 사용하는 경우 Reimport All Maven Projects 옵션을 사용할 것을 권장합니다.
문제가 해결되지 않으면 다른 해결 방법을 시도해 보십시오.
- 파일 -->캐시 무효화/재시작 -->비활성화/재시작 -->비활성화 및 재시작
또는 다음과 같이 입력합니다.
- Maven 프로젝트 구조에서 src/main/java 디렉토리를 오른쪽 클릭하고 디렉토리를 --> 소스 루트로 마크 옵션을 선택합니다.
마찬가지로 테스트 디렉토리에서도 마찬가지입니다.java 디렉토리에서 src/test/java를 오른쪽 클릭하여 [디렉토리를 --> Test Sources Root]옵션을 선택합니다.
또는 다음과 같이 입력합니다.
- 실행 --> 설정 편집으로 이동하여 JUnit 섹션에서 테스트 설정을 삭제합니다.변경을 적용합니다.그런 다음 테스트를 실행해 보십시오.새로운 설정은 자동적으로 작성됩니다.
또는 다음과 같이 입력합니다.
- File --> Project Structure 、 Modules 、 module 、 modules module module module and and 、 Paths 탭으로 이동합니다.
크크: :
라디오 버튼 모듈 컴파일 출력 경로를 사용해야 합니다.
출력 경로는 프로젝트 내부에 있어야 합니다.또한 테스트 출력 경로는 프로젝트 내부의 디렉토리여야 합니다.예를 들어, 다음과 같이 표시될 수 있습니다.
출력 경로: C:\path\to\yourModule\target\classes
테스트 출력 경로: C:\path\to\yourModule\target\test-classes
출력 경로 제외는 선택 해제해야 합니다.
테스트 폴더를 별도의 모듈로 가져온 경우에도 이 문제가 발생할 수 있습니다(프로젝트 뷰의 폴더 아이콘에 작은 정사각형 표시).
프로젝트 뷰에서 테스트 폴더를 선택하고 를 눌러 모듈을 제거합니다.
그럼 테스트를 시작하세요.
모듈이 선택되지 않았다는 오류 메시지가 표시된 팝업 대화상자가 나타나면 드롭다운에서 루트 모듈을 지정합니다.
저 같은 경우에는 다른 건 다 제대로 해놨는데 자바 라이브러리에서 kotlin과 작업을 하고 있었어요.플러그인 적용을 잊어버렸습니다.
apply plugin: 'kotlin-android'
그리고 이제 예상대로 작동합니다.
새로운 인텔리J 프로젝트를 시작한 후 비슷한 문제가 발생했습니다.모듈의 "모듈 컴파일 출력 경로"가 올바르게 지정되지 않았습니다.모듈의 "컴파일 출력 경로" 경로를 적절한 위치에 할당했더니 문제가 해결되었습니다.컴파일 출력 경로는 프로젝트 설정에서 할당됩니다.Modules 아래에서 관련 모듈을 선택하고 Paths 탭을 선택합니다.
[ Project Settings ]| [ Modules ]대화상자의 [Paths]탭
상위 프로젝트 폴더에 있는 "output" 폴더에 컴파일러 출력을 보냈습니다.
여기서의 문제는 폴더명에 관한 것이었습니다.코드 폴더를 Classes 2016/2017이라고 불렀는데 IntelliJ가 싫어했어요.슬래시(또는 경로상의 다른 문제 캐릭터)를 삭제하고 프로젝트를 다시 Import하기만 하면 바로 사용할 수 있습니다.
Android Studio 3.0 이상에서는 UI 테스트가 유닛 테스트로 해석될 수 있으며 대상 배포 선택을 요구하지 않습니다.Edit Configuration(구성 편집)으로 이동하여 Integration Test(통합 테스트)로 표시할 수 있습니다.그러면 동작하기 시작합니다.
프로젝트에 컴파일 문제가 있는 경우 테스트가 실행되지 않을 수 있습니다.따라서 먼저 프로젝트를 빌드 -> 빌드 프로젝트로 빌드합니다.컴파일에 성공하면 테스트를 다시 실행합니다.
문제가 해결되지 않으면 프로젝트 창을 닫고 프로젝트를 삭제하고 Gradle/Maven 프로젝트로 다시 Import하면 기존 IntelliJ가 작성한 파일을 덮어쓰게 됩니다.이렇게 하면 생성된 잘못된 캐시가 제거됩니다.
캐시를 무효로 할 수도 있습니다.
File -> Invalidate Caches/Restart
같은 문제가 발생하여 캐시 재구축/비활성화 등이 되지 않았습니다.Android Studio의 버그인 것 같은데...
임시 해결책은 명령줄에서 다음과 같은 방법으로 장치 테스트를 실행하는 것입니다.
./gradlew test
참조: https://developer.android.com/studio/test/command-line.html
수입할 때도 같은 질문이 있었어요.jar
메이븐으로부터, 그리고 그 후에, 원인이 됩니다.empty-test-suite
에러입니다.
제 경우, maven이 모듈 파일을 리셋했기 때문입니다.디폴트 설정을 클리어하고 해결했습니다.
- ---ctrlalts 바로 가기를 사용하여 프로젝트 구조 열기
- [ Modules ]> [ Sources ]를 보고 [Sources]패키지 또는 테스트 패키지를 입력합니다.
삭제 중.idea
SBT 프로젝트를 다시 수입하는 것으로 이 문제가 해결되었습니다.
프로젝트 또는 모듈을 다시 Import하면 문제가 해결된다.개발 시 패키지 이름을 변경하여 문제를 발생시켰습니다.단, 출력 경로와 테스트 출력 경로는 오래된 경로입니다.그래서 인텔리지는 예전 경로에서 클래스를 찾을 수 없습니다.따라서 가장 쉬운 방법은 출력 경로와 테스트 출력 경로를 수정하는 것입니다.
저도 같은 문제(Android Studio 3.2 Canary 4)를 가지고 있었고, 다른 답변에서 설명된 대부분의 제안을 시도했지만 아무런 성과도 거두지 못했습니다.파일 이동 후 이 문제가 발생하였습니다.test
로.androidTest
폴더입니다.계측된 테스트 대신 테스트로 실행 구성에 계속 표시되었습니다.
드디어 새로운 파일을 작성하게 되었습니다.
- 다른 이름으로 새 계측기 테스트 클래스를 만듭니다.
- 클래스의 모든 코드를 복사합니다.
- 실행하다.
- 이전 클래스를 삭제합니다.
- 새 클래스의 이름을 원하는 이름으로 변경합니다.
흥미롭게도, 나는 다른 이유로 이 문제에 여러 번 직면했다.예를 들어,캐시를 무효화하고 재기동하는 것도 도움이 됩니다.
마지막으로 [파일] -> [프로젝트 구조] -> [프로젝트] -> [프로젝트] -> [프로젝트 컴파일러 출력]를 [absolute_path_of_package/out]으로 수정했습니다.
예: /Users/random-guy/myWorkspace/src/DummyProject/out
모듈 또는 project-jdk가 올바르게 설정되어 있지 않은 경우에도 이 문제가 발생합니다.
제 경우 인텔리J가 이상한 이유로 테스트 소스를 편집하지 않았습니다.빌드 구성을 수정하고 maven 목표를 추가하기만 하면 됩니다.clean test-compile
Before launch
표시
제 경우 테스트명 :)에 문제가 있었습니다.
다음과 같은 경우:dummyNameTest
검출된 만, 「」의 는 「」로 합니다.testDummyName
가 잘
Maven 프로젝트 구조에서 src/main/java 디렉토리를 오른쪽 클릭하고 디렉토리를 --> 소스 루트로 마크 옵션을 선택합니다.
마찬가지로 테스트 디렉토리에서도 마찬가지입니다.java 디렉토리에서 src/test/java를 오른쪽 클릭하여 [디렉토리를 --> Test Sources Root]옵션을 선택합니다.
나에게 도움이 되었다:-)
저도 같은 문제가 있었어요.저 같은 경우에는 메인 폴더 밖에서 패키지/폴더로 테스트 클래스를 몇 개 받았습니다.그러나 실행 구성을 확인했을 때는 항상 메인 폴더 내에서 클래스를 찾고 있었습니다(내 패키지는 메인 폴더 밖에서 찾을 수 없습니다). 따라서 이 경우 실행 구성이 가리키는 곳으로 패키지를 이동해야 합니다.또는 패키지를 가리키도록 실행 구성을 변경합니다.
테스트에 Android 기기(에뮬레이터 또는 하드웨어)가 필요합니까?
'모듈명/src/androidTest/java/'는 '모듈명/src/androidTest/java/'입니다.
않으면 "에 .
https://developer.android.com/training/testing/start/index.html
로컬 유닛 테스트를 작성했기 때문에 같은 에러가 발생했는데, 계측 테스트용 폴더에 넣어져 있었습니다.로컬 유닛 테스트를 "src/test/java" 폴더로 이동하면 문제가 해결되었습니다.
같은 에러가 발생하고 있었다.내 장치가 Android Studio에 연결되지 않았습니다.스튜디오에 연결했을 때.그건 효과가 있다.이것으로 내 문제는 해결되었다.
이 폴더는 테스트 소스로 설정되어 있지 않기 때문에 모듈 설정 > 모듈로 설정할 수 있습니다.
나에게 그 프로젝트는 프로젝트 밖에서 편집되었다.난 그냥 길을 바꿀 뿐이야.경로 변경용(Mac 사용 중).
- File --> Project Structure로 이동합니다.
- 왼쪽에 있는 모듈로 이동합니다.
- 경로 선택, 라디오 버튼 선택(모듈 컴파일 출력 경로 사용)
- 프로젝트 내 출력 경로 및 테스트 출력 경로 제공
- 출력 경로 제외 선택을 취소합니다.
- [파일]로 이동 --> [캐시 비활성화]를 클릭하여 재시작합니다.
제 내, 제, my, 제, 정, 문제가 되었습니다.build.gradle
변경 ★★★★★★★★★★★★★★★★」
dependencies {
testImplementation 'junit:junit:4.12'
}
로.
dependencies {
testCompile 'junit:junit:4.12'
}
나는 모든 해결책을 시도해 보았지만 소용이 없었다.클리어 .아마 어떤 메이븐의 은닉처가 제거되었을거야.말하기 어렵다.그건 효과가 있다.★★를 해 보세요.mvn test -X
프로젝트 창의 파일에서 마우스 오른쪽 버튼을 클릭하고
"테스트 실행"
이제 모든 것이 정상적으로 시작됩니다.아마도 장애가 있는 실행 구성이 새로 재구축되고 있기 때문일 것입니다.
이 문제는 인텔리J의 새로운 버전을 설치한 후 발생할 수 있으며 인텔리J 플러그인은 아직 업데이트되지 않았습니다.
할 요.Check for updates…
인텔리 J.
Intelij에서 아래 단계를 따릅니다(더 잘 이해하기 위해 스크린샷 포함).
- [파일] --> [프로젝트 구조]로 이동합니다.
모듈로 이동하여 Junit 테스트 파일이 있는 모듈을 선택하고 "Use module compile output path" 라디오 버튼을 선택합니다.
첨부된 스크린샷과 유사한 각 클래스의 폴더 경로를 언급합니다.
- 신청하고 OK.나한텐 효과가 있었어!
IDEA 15.0.6을 사용하는 경우에도 같은 문제가 발생하며 테스트 클래스가 포함된 패키지의 이름을 변경했을 때 이외에는 아무것도 도움이 되지 않았습니다.그 후 이름을 원래 이름으로 다시 변경했는데 여전히 작동했기 때문에 이름 변경 작업이 일부 캐시를 지웠을 수 있습니다.
언급URL : https://stackoverflow.com/questions/39282282/class-not-found-empty-test-suite-in-intellij
'programing' 카테고리의 다른 글
HTML 파일 경로 위치에서 "./"(도트 슬래시)는 무엇을 의미합니까? (0) | 2022.10.18 |
---|---|
변수의 메모리 공간(크기)을 판별하는 방법 (0) | 2022.10.18 |
Netty vs Apache MINA (0) | 2022.10.18 |
MySQL DEFAULT vsMariaDB 디폴트 (0) | 2022.10.18 |
Python 개체를 올바르게 정리하려면 어떻게 해야 합니까? (0) | 2022.10.18 |