0
我需要爲插入或更新數據庫的活動編寫一個測試,具體取決於在意圖中作爲附加內容發送給它的內容。爲了測試這個活動,我首先需要設置數據庫來防止重複鍵和其他與數據庫相關的問題。在編寫測試時初始化活動之前設置數據庫
問題是,要設置數據庫,我需要一個上下文,我知道如何獲取上下文的唯一方法是調用getActivity(),但它會在爲活動設置之前讀取數據庫。
因此,使用ActivityInstrumentationTestCase2的子類,可以在初始化活動之前設置數據庫嗎?
我想做什麼的psedudo-exampel。
public void testActivityWithDatabaseEmpty(){
//Setup database
SQLLiteDatabase myDb = getDatabase(); // how to do this in a test without first calling the activity?
emptyTestTable(myDb);
//Setup intent
Intent intent = getIntentWithNonExistingKey();
setActivityIntent(intent);
//Get activity
MyActivity activity = getActivity();
Button button = activity.findById(R.id.button);
assertAreEquals("", button.getText);
}
在此先感謝 羅蘭