android - 存储单元和 Espresso 测试的资源

标签 android junit android-espresso android-testing

目前,我将相同的资源存储在

/test/resources/sample.txt //for unit tests
/main/asssets/sample.txt //for espresso tests

我可以将它们存放在一个地方吗? 如果是,我如何在测试中阅读它们? 我最好将它们作为 File 对象而不是 InputStream 打开。

最佳答案

因此,我最终决定,在这种情况下,最好的解决方案是将所有内容存储在 Assets 文件夹中(以模拟形式)。

您可以从仪器测试中打开它们:

activityRule.activity.assets.open("sample.txt")

来自单元测试:

private val ASSET_BASE_PATH = "../app/src/mock/assets/"

fun openAsset(filename: String): InputStream {
    return FileInputStream(ASSET_BASE_PATH + filename)

关于android - 存储单元和 Espresso 测试的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49648528/

相关文章:

android - Xamarin.Android:如何隐藏音频?

Android NDK 段错误

android - 将 Android 项目构建到不同的包

android - 多模块 Android 项目中的全局代码覆盖率 : merge code coverage reports (Unit & UI tests)

android - Espresso 测试未在 Android 12 上运行

android - 无法在 Android 上使用 appcompat 更改 TextView 的颜色

spring-mvc - Spring junit 测试用例中的此位置不允许使用注释 @Mock

dependency-injection - Mockito:在整个控制流中注入(inject) Mocks

android - 如何将模拟位置从 junit 测试传递到 Android 中的 Activity

android - 运行测试时出现问题(<androidx.test.ext.junit.runners.AndroidJUnit4> 没有零参数构造函数)