我有一个Android应用程序和一个测试项目,使用Robotium运行一些单元测试和自动化UI测试。我想确保目标应用程序的上下文在每个测试启动之前处于特定状态。通常,可以在测试类的setUp()方法中执行此操作。
目标应用程序的Application实例根据共享预存储中的一些值进行一些初始化工作。我想确保这些值的设置与我的测试项目的需求相关。
问题是目标应用程序实例的onCreate()方法在setUp()方法之前执行。因此,测试的setUp()方法的值不会被考虑在内。做这个初始化工作的正确方法是什么?
实现此目的的一种方法是在调用super.onCreate()
之前创建FakeTestOnlyActivity
在onCreate
中执行所有初始化工作:
public FakeTestOnlyActivity extends ActivityToTest {
public void onCreate(Bundle savedInstanceState){
//do initialization
...
super.onCreate(savedInstanceState);
}
}