Android instrumentation在我的应用程序中测试清除设置

Android instrumentation在我的应用程序中测试清除设置,android,gradle,android-testing,Android,Gradle,Android Testing,问题是: 我运行我的应用程序。设置已存在,一切正常 我运行仪器测试(gradletaskconnectedCheck)。测试不使用设置(不读取、不删除,甚至不触摸)。测试使用@RunWith(AndroidJUnit4.class)进行注释,并且根本不使用活动 我再次运行我的应用程序,我必须像重新安装应用程序一样指定设置 我尝试在gradle buildscript中指定testApplicationId: android { ... defaultConfig { ...

问题是:

  • 我运行我的应用程序。设置已存在,一切正常
  • 我运行仪器测试(gradletaskconnectedCheck)。测试不使用设置(不读取、不删除,甚至不触摸)。测试使用
    @RunWith(AndroidJUnit4.class)
    进行注释,并且根本不使用活动
  • 我再次运行我的应用程序,我必须像重新安装应用程序一样指定设置
  • 我尝试在gradle buildscript中指定
    testApplicationId

    android {
    ...
        defaultConfig {
        ...
        testApplicationId "something.package"
    
    但它没有效果

    为什么会发生这种情况,以及如何解决这个问题?

    根据:

    如前所述,需要连接设备的检查是 使用名为
    connectedCheck
    的锚任务启动。这取决于 任务
    连接了debugandroidtest
    ,因此将运行它。这 任务执行以下操作:

    • 确保已构建应用程序和测试应用程序 (取决于
      assembleDebug
      assembleDebugAndroidTest
    • 安装这两个应用程序
    • 运行测试
    • 卸载这两个应用。
    您可以使用常规运行配置来启动测试,而不是
    connectedCheck


    谢谢,这可以解决问题。不幸的是,is有一个巨大的缺点——通过执行gradle任务,我可以得到html格式的可读报告,而通过执行这样的运行配置,我不知道(@Alexey,您好。很抱歉这么晚才发表评论,但您是否找到了更好的解决方案来通过保存应用程序状态来执行测试?@Andriabramov,我会将其发布在那里,但不幸的是,我没有找到更好的解决方案:(