2016-04-01 6 views
1

Ich habe einige große Schwierigkeiten, Espresso mit Android Studio arbeiten zu lassen.Espressomethoden ungelöst

Ich habe den folgenden Code für einen Test:

import android.support.test.rule.ActivityTestRule; 
import android.support.test.runner.AndroidJUnit4; 

import com.nullpointexecutioners.buzzfilms.activities.WelcomeActivity; 

import org.junit.Rule; 
import org.junit.Test; 
import org.junit.runner.RunWith; 

@RunWith(AndroidJUnit4.class) 
public class ApplicationTest { 

    @Rule 
    public ActivityTestRule<WelcomeActivity> mActivityRule = new ActivityTestRule<>(WelcomeActivity.class); 

    @Test 
    public void testTitle() { 
     onView(withText("Buzz Films")).check(matches(isDisplayed())); 
    } 
} 

Leider ist die onView, withText, matches und isDisplayed() alle geben mir Fehler, die Methoden sagen, nicht aufgelöst werden kann. Ich kann es zur Arbeit bringen, wenn ich eine Reihe von static import Aussagen mache - aber darauf wollte ich nicht zurückgreifen. (d. h. ich müsste schreiben)

Ich würde gerne denken, ich habe meine build.gradle Datei richtig - basierend auf Informationen, die ich zu meinem Problem finden könnte.

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "com.nullpointexecutioners.buzzfilms" 
     minSdkVersion 23 
     targetSdkVersion 23 
     versionCode 7 
     versionName "2.0" //bump this up per milestone 

     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      zipAlignEnabled true 
     } 
     debug { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      zipAlignEnabled false 
     } 
    } 
    packagingOptions { 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE-FIREBASE.txt' 
     exclude 'META-INF/NOTICE' 
    } 
    testOptions { 
     unitTests.returnDefaultValues = true 
     unitTests.all { 
      // All the usual Gradle options. 
      jvmArgs '-XX:MaxPermSize=256m' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    androidTestCompile 'com.android.support:support-annotations:23.2.1' 
    androidTestCompile 'com.android.support.test:rules:0.5' 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2') { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    } 
    androidTestCompile('com.android.support.test.espresso:espresso-intents:2.2.2') { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    } 
    androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.2') { 
     exclude group: 'com.android.support', module: 'support-annotations' 
     exclude group: 'com.android.support', module: 'appcompat' 
     exclude group: 'com.android.support', module: 'support-v4' 
     exclude module: 'recyclerview-v7' 
    } 
    androidTestCompile('com.android.support.test.espresso:espresso-web:2.2.2') { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    } 
    androidTestCompile ('com.android.support.test:runner:0.5') { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    } 
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1' 


    compile('com.github.afollestad.material-dialogs:core:[email protected]') { 
     transitive = true 
    } 
    compile('com.mikepenz:materialdrawer:[email protected]') { 
     transitive = true 
    } 
    compile 'com.android.support:design:23.1.1' 
    compile 'com.android.support:support-v4:23.2.1' 
    compile 'com.jakewharton:butterknife:7.0.1' 
    compile 'com.mikepenz:iconics-core:[email protected]' 
    compile 'com.mikepenz:google-material-typeface:[email protected]' 
    compile 'com.firebase:firebase-client-android:2.3.1' 
    compile 'com.android.support:cardview-v7:23.2.1' 
    compile 'com.android.support:recyclerview-v7:23.2.1' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'com.android.support:palette-v7:23.2.1' 
    compile 'com.github.florent37:picassopalette:[email protected]' 
    compile 'com.squareup.okhttp:okhttp:2.4.0' 
    compile 'com.github.channguyen:rsv:1.0.1' 
} 
+0

Sie müssen statische Importe verwenden. Das ist gängige Praxis. – yogurtearl

+0

@yogurtearl Selbst dann funktioniert es nicht. – Nxt3

+0

Können Sie die Frage aktualisieren, um die statischen Importe einzuschließen? – yogurtearl

Antwort

0

Sie werden die statischen Importe benötigen.

Der offizielle Google-Beispielcode verwendet statische Importe. Statische Importe sind gängige Praxis für flüssige APIs.

Sample Espresso Test