【发布时间】:2023-01-04 20:35:02
【问题描述】:
我想在我之前录制的 Android Studio 中运行 Espresso 测试。该测试需要访问一个文件,该文件是资产包的一部分,但由于“FileNotFoundException”而失败。
资产包被定义为安装时交付,并且记录 Espresso 测试工作正常。只是运行测试失败。
我相信这是因为该文件不是主应用程序的资产,而是资产包中的资产。要从 Android Studio 运行应用程序,必须将默认交付从默认 apk 更改为“来自应用程序包的 apk”,如此处所述https://developer.android.com/guide/app-bundle/test。我猜想测试运行器使用默认的 apk 交付安装应用程序,这就是资产丢失的原因。当我启动从测试运行程序安装的应用程序时,我可以看到缺少资产包。在运行测试之前使用资产包手动安装应用程序无济于事,因为测试运行器会在没有资产包的情况下重新安装应用程序。
编辑:我确认这是错误的安装类型。当我像往常一样从 Android Studio 运行应用程序,然后从控制台 adb shell am instrument -w -m -e debug false -e class 'com.example.somethingsomething#homeActivityTest' com.example.somethingsomething/androidx.test.runner.AndroidJUnitRunner 手动运行测试时,测试运行完美。所以安装需要从应用程序包而不是普通的 apk 安装应用程序。
知道如何让 Espresso 测试运行器安装包含资产包的应用程序吗?
【问题讨论】:
-
有更新吗?你设法解决了这个问题吗?
标签: android android-espresso android-assets android-assetpacks