반응형
AndroidJUnit4 및 ActivityTestRule을 단위 테스트 클래스로 가져올 수없는 이유는 무엇입니까?
일부 Android UI 테스트 프레임 워크 클래스를 가져 오는 데 문제가 있습니다. 문제가 무엇인지 파악할 수 없습니다.
이것은 내 수업입니다.
@RunWith(AndroidJUnit4.class)
@LargeTest
public class ExampleUnitTest {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule(MainActivity.class);
@Test
public void listGoesOverTheFold() {
onView(withText("Hello world!")).check(matches(isDisplayed()));
}
}
그러나 어떤 이유로 '기호 ActivityTestRule을 찾을 수 없음'및 '기호 AndroidJUnit4를 찾을 수 없음'이라는 오류가 발생합니다. 가져 오려고했지만 찾을 수 없습니다.
build.gradle의 종속성은 다음과 같이 설정됩니다.
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
androidTestCompile 'com.android.support:support-annotations:23.4.0'
androidTestCompile 'com.android.support.test:runner:0.4'
androidTestCompile 'com.android.support.test:rules:0.4'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
그래서 나는 모든 의존성을 설정했다고 생각합니다-나는 많은 것을 시도했지만 운이 없었습니다.
누구나 아이디어가 있습니까?
Android에서 설정할 수있는 두 가지 유형의 테스트가 있습니다.
단위 테스트
- 이는 JVM에서 직접 실행되며 Android 프레임 워크 클래스에 대한 액세스 권한이 없습니다.
test/java
패키지에 보관됩니다.- 명령을 사용하여 build.gradle 파일에 종속성을 추가해야합니다.
testCompile
- 일반적으로 이러한 테스트에는 Mockito, Robolectric 및 JUnit을 사용합니다.
계측 테스트
- Android 에뮬레이터에서 실행되며 모든 Android 클래스에 대한 전체 액세스 권한이 있습니다.
androidTest/java
패키지에 보관됩니다.- build.gradle에 종속성을 추가해야합니다.
androidTestCompile
- 일반적으로 이러한 테스트에 Espresso 및 JUnit을 사용합니다.
내가 말할 수있는 것은 Espresso로 계측 테스트를 작성하려고하지만 test/java
단위 테스트 용 패키지에 테스트를 포함하고 있다고 말할 수 있습니다 . 이 경우 테스트 클래스를 androidTest/java
패키지 로 이동해야 합니다.
최신 버전에 다음을 추가하십시오.
androidTestImplementation 'com.android.support.test:rules:1.0.2'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
첨가:
androidTestImplementation 'com.android.support.test:rules:1.0.2'
문제를 해결하지만 프로젝트를 gradle 파일과 동기화하는 것을 잊지 마십시오. 그래야만 변경 사항이 적용됩니다.
AndroidX로 마이그레이션 한 경우 다음을 사용하십시오.
androidTestImplementation 'androidx.test:rules:1.1.1'
androidTestImplementation 'androidx.test:runner:1.1.1'
이 추가 종속성 필요
testCompile 'com.android.support.test:rules:0.5'
testCompile 'com.android.support.test:runner:0.5'
종속성을 추가하십시오.
androidTestCompile 'com.android.support.test:rules:0.5'
androidTestCompile 'com.android.support.test:runner:0.5'
반응형
'Programing' 카테고리의 다른 글
문자열에서 문자 발생을 계산하는 간단한 방법 (0) | 2020.11.29 |
---|---|
Xcode 6 iPhone 시뮬레이터 용 iOS 8 UITableView에서 SeparatorInset 제거 (0) | 2020.11.29 |
트랩 표현 (0) | 2020.11.28 |
Ruby on Rails 전문가가 Scaffolding을 사용하지 않는 이유는 무엇입니까? (0) | 2020.11.28 |
SHA-1 커밋 객체에 대한 정보를 얻습니까? (0) | 2020.11.28 |