Android 谷歌浓缩咖啡: ;删除每个测试中的用户数据

Android 谷歌浓缩咖啡: ;删除每个测试中的用户数据,android,android-espresso,kotlin,Android,Android Espresso,Kotlin,我正在寻找一种方法,在每次测试前使用谷歌浓缩咖啡从应用程序中删除数据库 我在@Before函数中得到了这段代码(kotlin代码): 它以前可以工作,但我离开我的兼职项目有一个月了,现在,在升级到API 23和新的测试框架版本后,由于“activityRule.launchActivity(I)”的原因,我的所有测试都无法启动。因此,我去掉了最后3行,测试可以重新开始,但删除数据库代码两次失败一次:( 在测试框架启动应用程序之前,有没有更好的方法删除用户数据?您能定义“代码失败”吗…一个异常、错

我正在寻找一种方法,在每次测试前使用谷歌浓缩咖啡从应用程序中删除数据库

我在@Before函数中得到了这段代码(kotlin代码):

它以前可以工作,但我离开我的兼职项目有一个月了,现在,在升级到API 23和新的测试框架版本后,由于“activityRule.launchActivity(I)”的原因,我的所有测试都无法启动。因此,我去掉了最后3行,测试可以重新开始,但删除数据库代码两次失败一次:(


在测试框架启动应用程序之前,有没有更好的方法删除用户数据?

您能定义“代码失败”吗…一个异常、错误消息、不做任何事情等。这是最大的问题:没有任何错误,只是数据仍然存在。我通过使用Robotium之前使用的相同棒解决了这个问题,所以;lved?正如我在您上面的评论中所说,我使用了一个解决方法
@Before
fun setUp() {
    val appCtx = InstrumentationRegistry.getTargetContext().applicationContext
    DBPrefsManager.getInstance(appCtx).resetAll()
    val client = appCtx.contentResolver.acquireContentProviderClient("fr.geobert.radis.db")
    val provider = client.localContentProvider as DbContentProvider
    provider.deleteDatabase(appCtx)
    client.release()

    val i = Intent()
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
    activityRule.launchActivity(i)
}