我正在尝试为Android派运行一个工具化的单元测试。我正在构建的测试将测试对通过Play Store APK扩展文件传递的扩展文件的访问。在手动测试中,这是可行的,但那是手动的。
adb push obb/main.45.org.example.someapp.obb /storage/emulated/0/Android/obb/org.example.someapp/main.45.org.example.someapp.obb
和运行测试
gradle connectedFreeDebugAndroidTest
. Gradle很好地编译了所有东西,并将APK复制到模拟器上。但是,在此过程中,似乎扩展文件也已从设备中清除:
> Task :app:connectedFreeDebugAndroidTest
01:18:05 V/ddms: execute: running am get-config
01:18:05 V/ddms: execute 'am get-config' on 'emulator-5554' : EOF hit. Read: -1
01:18:05 V/ddms: execute: returning
01:18:05 D/app-free-debug.apk: Uploading app-free-debug.apk onto device 'emulator-5554'
01:18:05 D/Device: Uploading file onto device 'emulator-5554'
01:18:05 D/ddms: Reading file permision of /tmp/gradle/someapp-android/app/outputs/apk/free/debug/app-free-debug.apk as: rw-r--r--
01:18:05 V/ddms: execute: running pm install -r -t "/data/local/tmp/app-free-debug.apk"
01:18:05 V/ddms: execute 'pm install -r -t "/data/local/tmp/app-free-debug.apk"' on 'emulator-5554' : EOF hit. Read: -1
01:18:05 V/ddms: execute: returning
01:18:05 V/ddms: execute: running rm "/data/local/tmp/app-free-debug.apk"
01:18:05 V/ddms: execute 'rm "/data/local/tmp/app-free-debug.apk"' on 'emulator-5554' : EOF hit. Read: -1
01:18:05 V/ddms: execute: returning
01:18:05 D/app-free-debug-androidTest.apk: Uploading app-free-debug-androidTest.apk onto device 'emulator-5554'
01:18:05 D/Device: Uploading file onto device 'emulator-5554'
01:18:05 D/ddms: Reading file permision of /tmp/gradle/someapp-android/app/outputs/apk/androidTest/free/debug/app-free-debug-androidTest.apk as: rw-r--r--
01:18:05 V/ddms: execute: running pm install -r -t "/data/local/tmp/app-free-debug-androidTest.apk"
01:18:06 V/ddms: execute 'pm install -r -t "/data/local/tmp/app-free-debug-androidTest.apk"' on 'emulator-5554' : EOF hit. Read: -1
01:18:06 V/ddms: execute: returning
01:18:06 V/ddms: execute: running rm "/data/local/tmp/app-free-debug-androidTest.apk"
01:18:06 V/ddms: execute 'rm "/data/local/tmp/app-free-debug-androidTest.apk"' on 'emulator-5554' : EOF hit. Read: -1
01:18:06 V/ddms: execute: returning
01:18:06 I/RemoteAndroidTest: Running am instrument -w -r -e coverageFile /data/data/org.example.someapp/coverage.ec -e coverage true org.example.someapp.test/android.support.test.runner.AndroidJUnitRunner on Pixel_2_API_28_Android_Pie_(AVD) - 9
01:18:06 V/ddms: execute: running am instrument -w -r -e coverageFile /data/data/org.example.someapp/coverage.ec -e coverage true org.example.someapp.test/android.support.test.runner.AndroidJUnitRunner
...
01:18:07 V/InstrumentationResultParser: Caused by: java.io.FileNotFoundException: /storage/emulated/0/Android/obb/org.example.someapp/main.45.org.example.someapp.obb: open failed: ENOENT (No such file or directory)
如何在测试运行时确保该文件的存在?