Espresso UItesting无法识别onView()

我花了一整天的时间用Espresso设置Junit4仪器testing,但似乎无法完成最后一步。 不pipe我做什么,它都不会识别onView()方法。 我已经尝试了多个SDK /支持lib版本,迄今没有。 我已经通过所有的谷歌设置指南和许多stackoverflowpost,转过来作为我最后的希望。

Gradle版本: com.android.tools.build:gradle:1.5.0 : com.android.tools.build:gradle:1.5.0 : com.android.tools.build:gradle:1.5.0

Gradle文件:

 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:0.4@aar' 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" } 

我的testing(位于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。 我用roboguice可以这个问题吗?

Solutions Collecting From Web of "Espresso UItesting无法识别onView()"

你应该使用静态导入:

 import static android.support.test.espresso.Espresso.onView; 

要么

 import android.support.test.espresso.Espresso; 

并按以下方式调用它

 Espresso.onView() 

为了扩展Egor的build议,在Android Studio中,一旦你在onView()获得红色文本,当popup红色的灯泡时,只需按alt + enter即可。 然后select静态导入

继续写。 Android Studio将从“里外”推荐所需的Espressoimport产品。 例如:onView(withId())首先会检测withId(),然后onView()