2016-07-13 60 views
6

Sono un principiante da testare. Ho creato un semplice caso di test per l'attività di accesso in Android Studio. Ma ho avuto un errore e non ho potuto risolverlo. Ecco il mio codice di prova. L'aiuto sarà molto apprezzato.Errore "Nessun test trovato" durante l'esecuzione dei test di strumentazione Android

package com.example.hassidiczaddic.testinglist; 

import android.app.Application; 
import android.support.test.rule.ActivityTestRule; 
import android.support.test.runner.AndroidJUnit4; 
import android.test.ActivityInstrumentationTestCase2; 
import android.test.ApplicationTestCase; 
import android.test.suitebuilder.annotation.LargeTest; 

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

import static android.support.test.espresso.Espresso.onView; 
import static android.support.test.espresso.action.ViewActions.click; 
import static android.support.test.espresso.action.ViewActions.closeSoftKeyboard; 
import static android.support.test.espresso.action.ViewActions.typeText; 
import static android.support.test.espresso.assertion.ViewAssertions.matches; 
import static android.support.test.espresso.matcher.ViewMatchers.withId; 
import static android.support.test.espresso.matcher.ViewMatchers.withText; 

@RunWith(AndroidJUnit4.class) 
@LargeTest 
public class ApplicationTest { 

    public static final String STRING_TO_BE_TYPED = "Wolfmatrix"; 

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

    @Test 
    public void LoginActivity() { 
     onView(withId(R.id.etFName)) 
       .perform(typeText(STRING_TO_BE_TYPED), closeSoftKeyboard()); 
     onView(withId(R.id.etLName)) 
       .perform(typeText(STRING_TO_BE_TYPED), closeSoftKeyboard()); 
     onView(withId(R.id.btnSubmit)) 
      .perform(click()); 
     onView(withId(R.id.tvView)) 
      .check(matches(withText(STRING_TO_BE_TYPED))); 
    } 

} 

Questo è il mio errore:

Running tests 

$ adb shell am instrument -w -r -e debug false -e class  
com.example.hassidiczaddic.testinglist.ApplicationTest 
com.example.hassidiczaddic.testinglist. 
test/android.test.InstrumentationTestRunner 
Client not ready yet..Test running started 
junit.framework.AssertionFailedError: No tests found in  
com.example.hassidiczaddic.testinglist.ApplicationTest 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) 
at  
android.test.InstrumentationTestRunner.onStart 
(InstrumentationTestRunner.java:555) 
at android.app.Instrumentation$InstrumentationThread.run 
(Instrumentation.java:1619) 
Tests ran to completion. 

Ecco il mio file Gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    defaultConfig { 
     applicationId "com.example.hassidiczaddic.testinglist" 
     minSdkVersion 16 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro' 
     } 
    } 

    dependencies { 
     compile fileTree(dir: 'libs', include: ['*.jar']) 
     testCompile 'junit:junit:4.12' 
     compile 'com.android.support:appcompat-v7:23.0.1' 
     // App dependencies 
     compile 'com.android.support:support-annotations:23.0.1' 
     compile 'com.google.guava:guava:18.0' 
     androidTestCompile 'com.android.support:support-annotations:23.0.1' 
     androidTestCompile 'com.android.support.test:runner:0.4.1' 
     androidTestCompile 'com.android.support.test:rules:0.4.1' 
     androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1' 
    } 
} 
+0

Puoi condividere i tuoi file Gradle? – josemigallas

+0

ho modificato e allegato appena sopra. Grazie – Niroj

risposta

13

Hai dimenticato di impostare AndroidJUnitRunner come il corridore strumentazione di prova di default.

https://developer.android.com/topic/libraries/testing-support-library/index.html

Per impostare AndroidJUnitRunner come il test di strumentazione corridore predefinita nel progetto Gradle, specificare questa dipendenza nel file build.gradle:

android { 
    defaultConfig { 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
} 
+0

l'ho notato ... Comunque Grazie mille per il tuo aiuto. – Niroj

+1

@Nirojthapa ha risolto questo problema? In tal caso, contrassegnare la risposta come corretta;) – josemigallas

+0

oh !! lo dimentico :) – Niroj

Problemi correlati