- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 VDT 运行集成测试。我构建了这两个 APK,然后按照此处引用的教程发送它们:https://firebase.google.com/docs/test-lab/android/continuous对于比特币。
Firebase 成功运行了我的非 Cucumber 测试,但它只是忽略了 Cucumber 测试。
当我在我的设备上安装 APK 时,我看到所有测试都在运行。我检查了一下,APK 中的 Runner 设置为 MultiDexCucumberJUnitRunner
。
为了了解 androidTest apk 中使用的运行程序,我这样做了:
adb shell pm list instrumentation
然后我看到一行:仪器:my.package.name.test/.MultiDexCucumberJUnitRunner (target=my.package.name)
这是我集成到应用程序中的 MultiDexCucumberJUnitRunner: https://gist.github.com/dhoskins/98afa6976c87cb20328d42065c7292ee
您知道我如何调查测试未运行的原因吗?你也遇到过这个问题吗?
编辑现在我知道我可以让它在关闭 Orchestrator 后正常工作。有没有办法使用 Orchestrator 运行 Cucumber 测试?
当 Orchestrator 开启时,这是测试的结果:
INSTRUMENTATION_STATUS: numtests=1 INSTRUMENTATION_STATUS: stream= no tests found: INSTRUMENTATION_STATUS: id=AndroidJUnitRunner INSTRUMENTATION_STATUS: test= INSTRUMENTATION_STATUS: class=no tests found INSTRUMENTATION_STATUS: current=1 INSTRUMENTATION_STATUS_CODE: 1 INSTRUMENTATION_STATUS: numtests=1 INSTRUMENTATION_STATUS: stream= Error in no tests found: java.lang.ClassNotFoundException: Invalid name: no tests found at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:400) at android.support.test.internal.runner.TestLoader.doCreateRunner(TestLoader.java:72) at android.support.test.internal.runner.TestLoader.getRunnersFor(TestLoader.java:104) at android.support.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:789) at android.support.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:539) at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:382) at my.package.name..app4test.test.MultiDexCucumberJUnitRunner.onStart(MultiDexCucumberJUnitRunner.kt:25) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1932)
最佳答案
Android Cucumber 版本似乎添加了对 Orchestrator 的支持 4.2.4 .您可以尝试从库中集成 CucumberAndroidJUnitRunner
,而不是从 gist 中集成 MultiDexCucumberJUnitRunner
。
如果您的项目还不是 AndroidX,请将 androidx.test.runner.AndroidJUnitRunner
更改为 android.support.test.runner.AndroidJUnitRunner
它们应该具有相同的实现.
关于android - Firebase VDT 不运行 Gherkin (Cucumber) 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55042802/
我正在使用 VDT 运行集成测试。我构建了这两个 APK,然后按照此处引用的教程发送它们:https://firebase.google.com/docs/test-lab/android/conti
我是一名优秀的程序员,十分优秀!