2014-06-23 312 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