2014-06-23 218 views
0

我有一個Android應用程序和一個使用Robotium運行一些單元測試和自動化UI測試的測試項目。我想確保在每次測試啓動之前目標應用程序的上下文處於特定狀態。通常,可以在測試類的setUp()方法中執行此操作。準備測試目標測試應用程序的環境

目標應用程序的Application實例根據共享pref存儲中的某些值執行一些初始化工作。我想確保將這些值設置爲與我的測試項目需求相關。

問題是目標應用程序實例的onCreate()方法在setUp()方法之前執行。因此,不會考慮來自測試setUp()方法的值。什麼是做這個初始化工作的正確方法?實現這一

回答

0

一種方法是創建一個FakeTestOnlyActivity做在onCreate所有初始化工作調用super.onCreate()前:

public FakeTestOnlyActivity extends ActivityToTest { 

     public void onCreate(Bundle savedInstanceState){ 
      //do initialization 
      ... 
      super.onCreate(savedInstanceState); 
     } 
} 
+1

可惜,這是行不通的。無論如何,應用程序的實例將在活動啓動之前創建。 – karcsi