Programing

클래스를 찾을 수 없음 : Android 스튜디오에서 단위 테스트를 실행할 때 빈 테스트 모음

lottogame 2020. 12. 12. 09:55
반응형

클래스를 찾을 수 없음 : Android 스튜디오에서 단위 테스트를 실행할 때 빈 테스트 모음


내 Android 앱에 대한 테스트 모음이 있으며 모든 단위 테스트가 정상적으로 실행됩니다. 그러나 단위 테스트 클래스 (예 :) 중 하나에서 단일 변경을 수행 할 때마다 ModelUnitTests해당 클래스를 다시 실행하려고하면 다음 메시지가 표시됩니다.

Process finished with exit code 1
Class not found: "xxx.xxxxxx.xxx.ModelUnitTests"Empty test suite.

gradle clean을 수행 한 다음 클래스 테스트를 다시 실행하면 정상적으로 실행되지만 (하지만 수행하는 데 4 분이 소요됩니다 ...) 새로운 변경으로 인해 다시 중단됩니다.

이 문제를 해결하는 방법에 대한 조언이 있습니까? 어떤 테스트 구성을 게시해야하는지 정확히 모르겠습니다. 단위 테스트 아티팩트를 사용하고 있으며 테스트는 module/src/test/package폴더에 있습니다.


비슷한 문제가 있었는데 같은 클래스 이름으로 유닛 테스트를 처음 만들었 기 때문 입니다. Instrumented Unit Test를 만들 때 오류가 발생했습니다.

이를 해결하기 위해 실행 아이콘의 왼쪽에있는 구성 편집으로 이동했습니다. 그런 다음 Unit Test 아래에서 삭제'충돌' 클래스 였습니다 . 적용 / 확인을 클릭하십시오. 그런 다음 클래스 이름을 마우스 오른쪽 버튼으로 클릭하고 실행을 클릭하면 작동합니다.


나는 같은 문제가 있었다. 테스트중인 메서드가 실행 / 디버그 구성 드롭 다운
TestClassName.testMethod()
에 올바른 형식이 아니라 다음과 같이 표시되는 것을 확인했습니다 .
testMethod()

TestClass.testMethod()이 오류를 발생시킨 테스트 방법에 대한 실행 / 디버그 구성을 삭제 한 다음 테스트를 다시 실행하여 문제를 해결했습니다.

동일한 문제가 다시 발생하면 잘못된 실행 / 디버그 구성을 삭제 한 다음 테스트 방법을 마우스 오른쪽 버튼으로 클릭하고 다음을 선택
Create 'testMethod()'...
하여 작동하는 구성을 만듭니다.


Android Studio의 수정 사항은 다음과 같습니다.

  • 1 단계-실행 / 디버그 구성으로 이동
  • 2 단계-Android 테스트 섹션으로 이동
  • 3 단계-(-)로 테스트 구성 파일 제거
  • 4 단계-적용 및 확인을 누릅니다.
  • 5 단계-테스트를 ​​다시 실행하십시오.

Kotlin에서 단위 테스트를 작성하는 중입니다. 제 경우에는 주어진 모듈 build.gradle파일 에 kotlin 플러그인을 추가하는 것을 잊었습니다 .

apply plugin: 'kotlin-android'

나는이 문제가 있었고이 게시물 (또는 다른 눈에 잘 띄는 Stack Overflow 게시물)에 대한 답변 중 어느 것도 나를 위해 해결하지 못했습니다.
그러나 수동으로 gradle 작업 compileTestKotlin을 실행 하면 문제가 해결 된 것으로 보입니다.

Kotlin 테스트 용 Android Studio 3.1.2


Robolectric을 사용하는 경우 실행 구성에서 작업 디렉토리를 $ MODULE_DIR $로 설정해야 할 수 있습니다.여기에 이미지 설명 입력

VM 옵션도 설정하십시오 : -ea 또는 : -noverify

http://robolectric.org/getting-started/


팀에서 작업하는 경우 build.gradle아무도 테스트 작업을 비활성화하지 않도록 모든 파일을 확인하십시오. 나는 '빈 테스트 스위트'오류가 있었고 결국 build.gradle프로젝트 루트에서 다음과 같은 원인으로 인해 발생했습니다 .

gradle.taskGraph.whenReady {
    tasks.each { task ->
        if (task.name.contains("Test"))
        {
            task.enabled = false
        }
    }
}

나는 오늘 내 테스트 수업 중 하나 에서이 문제가 있었고 여기에있는 해결책 중 어느 것도 도움이되지 않는 것 같습니다. 그러나 다른 테스트 클래스를 실행하는 것만으로 문제가 해결되었습니다. 그 후 원래 문제가있는 클래스가 올바르게 실행되었습니다.


AS 3.3에서 나에게 일어났습니다.

나는 맛을 사용하고 있으며 이것은 src/mainsrc/test. 앱 모듈에는 src/main src/commonsrc/flavor. AS에서 선택한 빌드 유형은 flavorDebug입니다.

이 문제를 해결하기 위해 "구성 실행"으로 이동하여 "모듈의 클래스 경로 사용"드롭 다운에서 앱 모듈을 선택했습니다. 테스트하고 싶은 모듈을 선택하고 짜잔!


제 경우에는 @BeforeClass 메서드에서 예외가 발생했기 때문입니다.


낮은 gradle 버전을 사용하여 해결했습니다.

dependencies {
    classpath 'com.android.tools.build:gradle:2.0.0'

지금은해야 할 일


나는 같은 문제가 있었다. Suite Class를 생성하여 문제를 해결했습니다.

참고 URL : https://stackoverflow.com/questions/38056901/class-not-found-empty-test-suite-when-running-unit-tests-in-android-studio

반응형