java - Android 测试异常:class not found Error 解析失败:Lorg/powermock/reflect/Whitebox;
问题描述
- 跟踪信息
com.sprd.linkturbo.tests.testWifiQosParams#TC_SmartLink_WifiQosParamsSetAndGetLostPackets_007: FAILURE (1ms) stack= java.lang.NoClassDefFoundError: Failed resolution of: Lorg/powermock/reflect/Whitebox; at com.sprd.linkturbo.tests.testWifiQosParams.TC_SmartLink_WifiQosParamsSetAndGetLostPackets_007(testWifiQosParams.java:37) at java.lang.reflect.Method.invoke(Native Method) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:52) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:148) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:142) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:923) Caused by: java.lang.ClassNotFoundException: org.powermock.reflect.Whitebox
AndroidManifest.xml
<!-- We add an application tag here just so that we can indicate that this package needs to link against the android.test library, which is needed when building test cases. --> <application> <uses-library android:name="android.test.runner" /> </application> <!--This declares that this app uses the instrumentation test runner targeting the package of com.android.deskclock. To run the tests use the command: "adb shell am instrument -w com.android.deskclock.tests/androidx.test.runner.AndroidJUnitRunner" --> <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner" android:targetPackage="com.sprd.linkturbo" android:label="Tests for LinkTurbo."/>
安卓.bp
android_test { name: "SmartLinkTests", srcs: ["src/**/*.java"] + ["src/**/*.iml"], libs: [ "android.test.base", "android.test.mock", "android.test.runner", "telephony-common", "radio_interactor_common", "com.unisoc.sdk.common", "platform-robolectric-3.6.2-prebuilt", "powermock-libs", "platform-byte-buddy-1.8.10-prebuilt", "platform-byte-buddy-agent-1.8.10-prebuilt", "platform-objenesis-2.6-prebuilt", //"LinkTurbo", //"uniframework" ], //sdk_version: "current", certificate: "platform", platform_apis: true, manifest: "AndroidManifest.xml", static_libs: [ "mockito-target-minus-junit4", "platform-test-annotations", "truth-prebuilt", "frameworks-base-testutils", ], jacoco: { include_filter: ["com.sprd.linkturbo.*"], }, instrumentation_for: "LinkTurbo", }
解决方案
推荐阅读
- python - 解决生成位置参数冲突类型错误的函数调用
- javascript - 未捕获的类型错误:无法使用 JS 读取 null 的属性“addEventListener”以获得平滑滚动效果
- android - android studio 不显示布局预览新版本(Android Studio 北极狐 | 2020.3.1)
- node.js - 如何使用 React/TypeScript 阅读 MSK 集群的主题?
- kotlin - 将 Braintree dropin UI 集成到 Kotlin Jetpack Compose
- sharepoint - 如何获取网站集的第二阶段 SharePoint 2016 回收站的大小?
- swiftui - 由于 iPad 设备的未捕获异常“NSGenericException”而终止应用程序
- rust - 递归引用包装
- python - 1 或 0 基于另一列中的值?[Python]
- css - React Navbar 中的徽标不会与链接对齐