相关疑难解决方法(0)

Android单元测试需要上下文

我正在编写我的第一个Android数据库后端,我正在努力对我的数据库的创建进行单元测试.

目前我遇到的问题是获取一个有效的Context对象来传递给我的SQLiteOpenHelper实现.有没有办法在扩展TestCase的类中获取Context对象?我想到的解决方案是在我的TestCase的setup方法中实例化一个Activity,然后将该Activity的Context分配给我的测试方法可以访问的字段变量......但似乎应该有一个更简单的方法.

感谢您的输入!

梅西

database android unit-testing

59
推荐指数
5
解决办法
4万
查看次数

如何在异常后继续运行Android检测测试?

显然,当检测到的应用程序发生异常时,将停止检测测试运行:

测试未能完成.原因:'由于'异常'导致仪表运行失败.检查设备logcat以获取详细信息

这是自定义仪器运行器中的所需行为还是错误配置?

我正在使用自定义MonitorinInstrumentation[1]来自动化验收测试.

不幸的是,当在一个测试中发生异常时,测试执行被取消.我希望测试套件完成并只标记失败的测试,就像在JUnit中一样.

在一次测试中发生异常的情况下,是否存在执行(连接)测试而不退出整个测试的一般方法?

  1. https://github.com/cucumber/cucumber-jvm/blob/master/examples/android/android-studio/Cukeulator/app/src/androidTest/java/cucumber/cukeulator/test/Instrumentation.java

android android-testing cucumber-jvm

17
推荐指数
1
解决办法
2737
查看次数

android单元测试:在测试活动之前清除prefs

我希望确保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单元测试的新手,所以也许我错过了一些基本的东西.

谢谢.

testing junit android

6
推荐指数
1
解决办法
5433
查看次数