2015-02-11 38 views
1

我的應用程序有兩項活動:登錄活動(loginActivity)和第二活動(mainActivity)。我想用咖啡來測試對loginActivity登錄,所以我寫了這個測試:關於錯誤活動的Android Espresso測試

public class LoginActivityTest extends ActivityInstrumentationTestCase2<LoginActivity> { 

    public LoginActivityTest() { 
     super(LoginActivity.class); 
    } 

    @Override 
    public void setUp() throws Exception { 
     super.setUp(); 

     getActivity(); 
    } 

    public void testLogin() throws Exception { 
     onView(withId(R.id.button_log_in)).perform(click()); 

     onView(withId(R.id.container)).check(matches(isDisplayed())); 
    } 
} 

的問題是,當應用程序啓動時,如果用戶此前曾登錄,loginActivity立即撻在MainActivity,當執行測試失敗,錯誤:

android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: com.test.android.development:id/R.id.button_log_in 

注:如果我啓動應用程序,並做記錄之前,我運行測試,錯誤消失。

在此先感謝!

回答

-1

僅當用戶先前未登錄時才使用if執行測試。 然後,您可以添加else以測試記錄的狀態。

否則,您必須嘗試捕獲NoMatchingViewException,以告知您的應用程序在登錄用戶的情況下不要執行登錄測試。喜歡的東西:

讓我知道,如果這是任何幫助:)

+0

謝謝! 我使用了'try'&'catch',它確實有效。 – 2015-02-11 11:55:51

+0

不客氣。 – Clover 2015-02-11 12:08:56

+0

這只是意味着你跳過文本! – 2017-09-19 10:21:35

相關問題