Mar*_*Bak 10 android robolectric androidx androidx-test
在将代码和测试迁移到AndroidX之后,所有功能似乎都运行良好,但是由于NoClassDefFoundError:androidx / fragment / testing / R $ style异常,两个片段的Robolectric junit测试失败。堆栈跟踪:
java.lang.NoClassDefFoundError:androidx / fragment / testing / R $ style在androidx.fragment.app.testing.FragmentScenario $ EmptyFragmentActivity.onCreate(FragmentScenario.java:79)在android.app.Activity.performCreate(Activity.java:5933 )在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)在androidx.test.runner.MonitoringInstrumentation.callActivityOnCreate(MonitoringInstrumentation.java:674)在org.robolectric.android.controller.ActivityController.lambda $ create $ 0(ActivateController。 .java:69),位于org.robolectric.shadows.ShadowLooper.runPaused(ShadowLooper.java:365),位于org.robolectric.android.controller.ActivityController.create(ActivityController.java:69),位于org.robolectric.android.controller。位于org.robolectric.android的ActivityController.create(ActivityController.java:74)。在androidx.test.core.app.ActivityScenario.launch(ActivityScenario.java:207)处的internal.LocalActivityInvoker.startActivity(LocalActivityInvoker.java:39)在androidx.fragment.app.testing.FragmentScenario.internalLaunch(FragmentScenario.java:283)处在androidx.fragment.app.testing.FragmentScenario.launchInContainer(FragmentScenario.java:265)
为了测试片段,我正在使用FragmentScenario,似乎FragmentScenario.EmptyFragmentActivity指向包androidx.fragment.testing.R中缺少的R类:
setTheme(getIntent()。getIntExtra(THEME_EXTRAS_BUNDLE_KEY,R.style.FragmentScenarioEmptyFragmentActivityTheme));;
知道有什么问题吗?也许我错过了一个对我来说并不那么明显的依赖。
可在以下项目中重现:https : //github.com/marcinbak/androidx-test-error
还报告在Google的问题跟踪器中:https : //issuetracker.google.com/issues/122321150
根据Google的回答,需要在测试APK中(而不是在Instrumentation APK或测试依赖项中)包含androidx_fragment_test(androidx.fragment:fragment-testing:1.1.0-alpha03)工件。
这意味着它必须作为build.gradle文件中的debugImplementation androix_fragment_test添加。
如果您还在发布目标上运行测试,则必须添加实现androix_fragment_test。
您可以在Google的问题跟踪器中查看整个对话:https : //issuetracker.google.com/issues/122321150
| 归档时间: |
|
| 查看次数: |
2123 次 |
| 最近记录: |