簡體   English   中英

Robotium:單擊“主頁”按鈕,確認活動已完成並且基礎活動已恢復

[英]Robotium: verify that activity gets finished and the underlying one restored when “home” button clicked

我正在使用Android批注,並且在“活動”中有以下代碼:

@OptionsItem
void homeSelected() {
    finish();
}

顯然,當用戶單擊ActionBar中的主頁按鈕時,此代碼應完成當前活動。 但是如何測試此代碼? 我希望能夠以某種方式驗證單擊主頁按鈕后,當前活動已完成,並且先前的活動已還原。 這可能嗎? 或者至少可以驗證單擊“主頁”按鈕后是否調用了homeSelected方法?

我正在使用Robotium,並且具有以下測試方法:

@SmallTest
public void testGoBack() {
    solo.clickOnActionBarHomeButton();
    // ???? How do I verify the homeSelected method was actually called?
}

您可以使用waitForActivity(...)

waitForActivity(Class<? extends android.app.Activity> activityClass)

等待與指定類匹配的Activity。

查看文檔

@SmallTest
public void testGoBack() {
    solo.clickOnActionBarHomeButton();

    solo.waitForActivity(com.example.UpActivity.class);
}

默認例程使用20秒超時。

ps:或者將調試日志添加到您活動的onDestroy()方法中:

public class MyActivity extends Activity {

    ...
    @Override
    protected void onDestroy() {
        super.onDestroy();

        Log.d ("TAG", "Finishing MyActivity");
    }
} 

並在測試方法中等待以下日志消息:

waitForLogMessage("Finishing MyActivity");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM