如何通过 Android 仪器测试在我的计算机上创建文件?

Art*_*tem 5 io android android-testing

我想在我的笔记本电脑上(而不是在 Android 模拟器上)创建带有输出的文本文件。

我使用这段代码,但它对我不起作用:

@Test
fun useAppContext() {
    val appContext = InstrumentationRegistry.getInstrumentation().targetContext

    val str = "OUTPUT"
    val outputStreamWriter =
        OutputStreamWriter(appContext.openFileOutput("output.json", Context.MODE_PRIVATE))
    outputStreamWriter.write(str)
    outputStreamWriter.close()
}
Run Code Online (Sandbox Code Playgroud)

如何从 Android Instrumented 测试写入我的计算机上的文件?(我知道这是可能的)

Com*_*are 5

如何从 Android Instrumented 测试写入我的计算机上的文件?

仪器测试与应用程序没有显着不同,因为它在 Android 中运行(在设备或模拟器上)。应用程序没有天生的将内容写入计算机的能力;同样,仪器化测试也没有将内容写入计算机的先天能力。

任何一个:

  • 切换到单元测试,它直接在您的计算机上运行(不在 Android 内部),或者

  • 自己做一些事情来启用应用程序/测试 -> 计算机通信。例如,您可以在计算机上运行 Web 服务并让测试与其对话。


Art*_*tem 0

我尝试将单元测试中的字符串写入文件,它有效!

这是我的代码:

@Test
fun testName() {
    val str = "OUTPUT"
    val writer = BufferedWriter(FileWriter("output.json"))
    writer.write(str)

    writer.close()
}
Run Code Online (Sandbox Code Playgroud)