2015-12-22 20 views
33

Sto utilizzando AndroidJUnitRunner con Espresso.JUnit4 - AssertionFailedError: Nessun test trovato

Ho scritto un test semplice ma ricevo sempre questa eccezione. In base alle risposte StackOverflow, il problema è di incasinare JUnit3 e JUnit4 ma non ho mai usato JUnit3 nel mio progetto.

junit.framework.AssertionFailedError: No tests found in com.walletsaver.app.test.espresso.SignUpPopupTest

package com.walletsaver.app.test.espresso; 

import android.support.test.rule.ActivityTestRule; 
import android.support.test.runner.AndroidJUnit4; 
import android.test.suitebuilder.annotation.SmallTest; 

import com.walletsaver.app.activity.LoginActivity; 

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.matcher.ViewMatchers.withText; 

@RunWith(AndroidJUnit4.class) 
@SmallTest 
public class SignUpPopupTest { 

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

    @Test 
    public void checkSignUpPopup() throws Exception { 
     onView(withText("Sign Up")).perform(click()); 
    } 
} 

configurazione Run: enter image description here

uscita: enter image description here

risposta

75

ho trovato il problema. E 'stato mancato il codice nel build.gradle nel modulo principale. Se avete questo problema vi consiglio di iniziare con l'aggiunta di questa linea:

android { 
    ... 

    defaultConfig { 
     ... 

     testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner' 
    } 
... 
} 
+0

Grazie mille ha risolto il problema, si può dire perché dobbiamo aggiungere questo? –

+0

@OmerMalik Ho provato a menzionare 'android.support.test.runner.AndroidJUnitRunner' nella configurazione di esecuzione, ma questo non ha avuto effetto. Quindi l'ho scritto direttamente in 'build.gradle' e mi ha aiutato. Sembra che dovrebbe essere impostato in 'defaultConfig' per essere visibile. – Val

+0

Ho letto la documentazione di Android ed è menzionata la loro, ho perso il passaggio, grazie mille –