我需要在每次测试之前清空我的用户数据

// Kotlin code
fun getActivity() = activityRule.getActivity()

Before
fun setUp() {
    cleanUp(getActivity())
}

我需要获取上下文才能这样做,但在 setUp 中,activityRule.getActivity() 返回 null。

我也试过:
Before
fun setUp() {
    val i = Intent()
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
    activityRule.lauchActivity(i)
    cleanUp(getActivity())
}

我有一个 Activity ,但清理工作只有一半的时间(我相信这里有一些竞争条件)

我想避免在 After 函数中清理,以便在需要时手动查看我的应用程序状态。

无论如何要在 Before 函数中获取上下文?

谢谢

最佳答案

您可以像这样从 InstrumentationRegistry 获取生产应用程序上下文:InstrumentationRegistry.getTargetContext()
请记住:InstrumentationRegistry.getContext() 是您的测试 apk 的上下文。

关于android - ActivityTestRule.getActivity 在 Before 方法中返回 null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30261962/

10-12 02:39