从命令行运行Android单元测试-无限制

时间:2018-10-22 03:28:04

标签: android unit-testing circleci-2.0

如何在没有Gradle的情况下从命令行运行Android本地单元测试?

有一个article on the Android docs site表示可能,但我无法使其正常工作:

~/src/ourproj $ adb shell am instrument -w com.company.ourproj.test/android.test.InstrumentationTestRunner
android.util.AndroidException: INSTRUMENTATION_FAILED: com.company.ourproj.test/android.test.InstrumentationTestRunner
    at com.android.commands.am.Instrument.run(Instrument.java:486)
    at com.android.commands.am.Am.runInstrument(Am.java:194)
    at com.android.commands.am.Am.onRun(Am.java:80)
    at com.android.internal.os.BaseCommand.run(BaseCommand.java:54)
    at com.android.commands.am.Am.main(Am.java:50)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:340)
INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{com.company.ourproj.test/android.test.InstrumentationTestRunner}
INSTRUMENTATION_STATUS: id=ActivityManagerService
INSTRUMENTATION_STATUS_CODE: -1

我见过other question about this,但没有帮助。

为什么?我们想在圈子CI和keep running into crash memory issues上运行测试。 Gradle占用大量内存-CI实例具有4GB的内存就足够了-因此,这篇文章看起来很有希望。

单元测试中没有AndroidManifest.xml文件-只有一个顶级文件,一个用于UI测试。 Gradle似乎是在动态写这些。上面的软件包名称可能是错误的(请注意,为了保护自己的罪行,我更改了名称),但我不知道如何确定它们应该是什么。

0 个答案:

没有答案