1

我用下面的測試庫的Android應用程序:我可以分別測試Activities和Fragments的生命週期方法嗎?

androidTestCompile 'org.mockito:mockito-core:1.10.19' 
androidTestCompile 'junit:junit:4.12' 
androidTestCompile 'com.android.support.test:runner:0.5' 
androidTestCompile 'com.android.support.test:rules:0.5' 
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' 
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.2' 

我想,如果我現在在某種程度上可以分別測試onCreate() - ,onStart() - 和onResume() - 方法。那麼是否有可能在某個測試用例中不調用其他方法的情況下調用其中一個方法?

爲什麼我要這樣做?在我的Activity中,我在onCreate()中創建Fragment並將其應用於Activity。但在onResume()片段我設置的東西導致FragmentFragment附加到Activity另一個Fragment。我想測試第一個片段是否加載。但在我的測試案例中onResume()已被觸發,第一個片段被替換。所以我就想單獨測試onCreate()

+0

你想在'onCreate'或其他方法中測試什麼? – mallaudin

+0

@mallaudin我剛剛更新了我的帖子 – unlimited101

回答

-2
package com.example.activity; 
import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 


public class DemoActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Log.e("Method" , "On Create"); 


    } 

    @Override 
    protected void onStart() { 
     super.onStart(); 
     Log.e("Method" , "On start"); 
    } 

    @Override 
    protected void onRestart() { 
     super.onRestart(); 
     Log.e("Method" , "On restart"); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     Log.e("Method" , "On resume"); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     Log.e("Method" , "On pause"); 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
     Log.e("Method" , "On stop"); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     Log.e("Method" , "On destroy"); 
    } 
} 
+0

我瞭解活動生命週期。我不想知道方法的名稱,但是我怎樣才能從一個ActivityTestRule開始一個活動,只調用onCreate()方法,而不是其他的方法。 – unlimited101

相關問題