클래스를 찾을 수 없음 : 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/main
및 src/test
. 앱 모듈에는 src/main
src/common
및 src/flavor
. AS에서 선택한 빌드 유형은 flavorDebug
입니다.
이 문제를 해결하기 위해 "구성 실행"으로 이동하여 "모듈의 클래스 경로 사용"드롭 다운에서 앱 모듈을 선택했습니다. 테스트하고 싶은 모듈을 선택하고 짜잔!
제 경우에는 @BeforeClass 메서드에서 예외가 발생했기 때문입니다.
낮은 gradle 버전을 사용하여 해결했습니다.
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
지금은해야 할 일
나는 같은 문제가 있었다. Suite Class를 생성하여 문제를 해결했습니다.
'Programing' 카테고리의 다른 글
로컬 스토리지 대 AngularJS $ cacheFactory (0) | 2020.12.12 |
---|---|
소스를 찾을 수 없지만 일부 또는 모든 이벤트 로그를 검색 할 수 없습니다. (0) | 2020.12.12 |
캐스팅 없이도 C의 엄격한 앨리어싱 위반? (0) | 2020.12.12 |
광고 차단기가 앱에서 광고를 차단하지 못하도록하는 방법 (0) | 2020.12.12 |
크롬 확장 프로그램에 정보를 로컬로 저장하려면 어떻게해야합니까? (0) | 2020.12.12 |