Tôi đã dành cả ngày để thiết lập các bài kiểm tra thiết bị Junit4 với Espresso, nhưng dường như không thể có được bước cuối cùng đó. Không có vấn đề gì tôi làm nó sẽ không nhận ra phương pháp onView()
. Tôi đã thử nhiều phiên bản SDK/hỗ trợ-lib và cho đến nay không có gì. Tôi đã đi qua tất cả các hướng dẫn thiết lập google và nhiều bài viết stackoverflow, biến đây là hy vọng cuối cùng của tôi.Kiểm tra giao diện người dùng Espresso không nhận ra onView()
Gradle phiên bản: com.android.tools.build:gradle:1.5.0
Gradle file:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "lv.my.android"
minSdkVersion 9
targetSdkVersion 22
testApplicationId "lv.my.android.tests"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
packagingOptions {
exclude 'LICENSE.txt'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
compileOptions {
sourceCompatibility = 'VERSION_1_7'
targetCompatibility = 'VERSION_1_7'
}
signingConfigs {
beta {
storeFile file("beta.keystore")
storePassword "betabuild"
keyAlias "key"
keyPassword "betabuild"
}
release
}
buildTypes {
debug {
debuggable true
applicationIdSuffix '.debug'
versionNameSuffix '-DEV'
minifyEnabled false
}
beta {
debuggable true
applicationIdSuffix '.beta'
versionNameSuffix '-BETA'
signingConfig signingConfigs.beta
minifyEnabled false
}
release {
minifyEnabled false
}
}
}
dependencies {
compile files('src/main/libs/guice-3.0-no_aop.jar')
compile files('src/main/libs/javax.inject-1.jar')
compile files('src/main/libs/roboguice-2.0.jar')
compile files('src/main/libs/junit-4.11.jar')
compile files('src/main/libs/hamcrest-core-1.3.jar')
compile files('src/main/libs/GeoLib.jar')
compile files('src/main/libs/GeoPolygons.jar')
compile files('src/main/libs/universal-image-loader-1.9.4.jar')
compile files('src/main/libs/javax.annotation-3.2-b06-sources.jar')
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
compile 'com.squareup:otto:1.3.5'
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.android.support:support-annotations:23.0.1'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:support-v4:23.0.1'
compile 'com.android.support:palette-v7:23.0.1'
compile 'com.google.code.findbugs:jsr305:2.0.1'
compile 'com.nineoldandroids:library:2.4.0'
compile 'pl.charmas.android:android-reactive-location:[email protected]'
compile 'io.reactivex:rxjava:1.0.3'
compile files('src/main/libs/FlurryAnalytics-6.1.0.jar')
compile 'com.github.castorflex.smoothprogressbar:library:1.1.0'
androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
androidTestCompile'com.android.support.test:runner:0.4.1'
// Set this dependency to use JUnit 4 rules
androidTestCompile'com.android.support.test:rules:0.4'
// Set this dependency to build and run Espresso tests
androidTestCompile'com.android.support.test.espresso:espresso-core:2.2.1'
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:1.9.5"
}
thử nghiệm của tôi (nằm trong src/androidTest/java/lv/my/test
)
package lv.my.test;
import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;
import android.test.suitebuilder.annotation.LargeTest;
import lv.my.android.activities.LoginActivity;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
@LargeTest
public class LoginActivityTest {
private String mStringToBetyped;
@Rule
public ActivityTestRule<LoginActivity> mActivityRule = new ActivityTestRule<>(LoginActivity.class);
@Before
public void initValidString() {
}
@Test
public void changeText_sameActivity() {
// onView not recognized here
}
}
PS. Tôi sử dụng roboguice có thể đó là vấn đề?
hãy thử thêm câu lệnh nhập là 'import static android.support.test.espresso.Espresso.onView;' – Raghunandan