我正在编写我的第一个Android数据库后端,我正在努力对我的数据库的创建进行单元测试.
目前我遇到的问题是获取一个有效的Context对象来传递给我的SQLiteOpenHelper实现.有没有办法在扩展TestCase的类中获取Context对象?我想到的解决方案是在我的TestCase的setup方法中实例化一个Activity,然后将该Activity的Context分配给我的测试方法可以访问的字段变量......但似乎应该有一个更简单的方法.
感谢您的输入!
梅西
显然,当检测到的应用程序发生异常时,将停止检测测试运行:
测试未能完成.原因:'由于'异常'导致仪表运行失败.检查设备logcat以获取详细信息
这是自定义仪器运行器中的所需行为还是错误配置?
我正在使用自定义MonitorinInstrumentation[1]来自动化验收测试.
不幸的是,当在一个测试中发生异常时,测试执行被取消.我希望测试套件完成并只标记失败的测试,就像在JUnit中一样.
在一次测试中发生异常的情况下,是否存在执行(连接)测试而不退出整个测试的一般方法?
我希望确保Activity在我的单元测试中启动之前清除首选项.
问题是要清除首选项,需要调用getActivity().之后,Activity启动,读取首选项.
@Override
protected void setUp() throws Exception {
super.setUp();
mActivity = this.getActivity();
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(mActivity);
prefs.edit().clear().commit();
}
Run Code Online (Sandbox Code Playgroud)
当getActivity()被调用时,Activity被创建,它读取PREF的值,下一个线清除PREF之前.
有没有办法在Context不启动的情况下获取对象Activity?
我是Android单元测试的新手,所以也许我错过了一些基本的东西.
谢谢.