【问题标题】:Is it possible to run ML Kit in Robolectric unit tests?是否可以在 Robolectric 单元测试中运行 ML Kit?
【发布时间】:2026-01-28 13:35:01
【问题描述】:

我很好奇是否可以在Robolectric 单元测试中运行Google ML Kit。如果我尝试,我会收到以下错误:

java.lang.IllegalStateException: MlKitContext 尚未初始化

如果我将其作为仪器测试(使用 AndroidJUnit4)运行,则相同的测试可以完美运行。

【问题讨论】:

  • 您可以尝试在每个测试用例之前在您的 robolectric 测试中初始化 MLKitContext 并在每个测试用例之后将其删除吗? mlkit 上下文。 = MlKitContext.initialize(ApplicationProvider.getApplicationContext());和 mlkitContext.delete();
  • 谢谢@ChenxiSong!我对你的建议没有这样的错误!不幸的是,我仍然无法运行我的 ML Kit 实现,因为现在我面临另一个问题。一旦我能解决它,我会告诉你的。

标签: android unit-testing robolectric google-mlkit


【解决方案1】:

请改用 androidTest。

是来自谷歌的官方回答

参考:https://github.com/googlesamples/mlkit/issues/251

【讨论】: