2015-12-22 23 views
33

Używam AndroidaJUnitRunner z Espresso.JUnit4 - AssertionFailedError: Nie znaleziono testów

Napisałem prosty test, ale zawsze otrzymuję ten wyjątek. Według odpowiedzi Stackoverflow, problemem jest zepsucie JUnit3 i JUnit4, ale nigdy nie użyłem JUnit3 w moim projekcie.

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()); 
    } 
} 

konfiguracja Run: enter image description here

wyjściowa: enter image description here

Odpowiedz

75

znalazłem problem. To był brakujący kod w build.gradle w module głównym. Jeśli masz ten problem radzę zacząć od dodając wiersz:

android { 
    ... 

    defaultConfig { 
     ... 

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

dziękuję to rozwiązało problem, można powiedzieć, dlaczego mamy do tego dodać? –

+0

@OmerMalik Próbowałem wspomnieć o 'android.support.test.runner.AndroidJUnitRunner' w konfiguracji Run, ale nie miało to żadnego efektu. Następnie napisałem go bezpośrednio w 'build.gradle' i pomógł. Wygląda na to, że powinno być ustawione na 'defaultConfig', aby było widoczne. – Val

+0

Przeczytałem dokumentację Androida i jest tam wymieniony ich, ominąłem krok, dziękuję dużo –