首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Dagger Hilt运行android-testify测试?

如何使用Dagger Hilt运行android-testify测试?
EN

Stack Overflow用户
提问于 2021-11-01 21:27:24
回答 1查看 67关注 0票数 2

我正在尝试集成https://github.com/Shopify/android-testify来将屏幕截图测试添加到我的应用程序中。然而,由于我的应用程序目前与Dagger Hilt集成,我在运行最简单的测试时遇到了麻烦。

如果我尝试按照证言文档中的建议仅添加ScreenshotRule,则会得到错误:

代码语言:javascript
复制
Caused by: java.lang.IllegalStateException: The component was not created. Check that you have added the HiltAndroidRule.

此外,如果我在使用ScreenshotRule的同时使用标准的句柄规则(HiltAndroidRule(this)),测试就会立即失败,包括在添加ScreenshotRule之前有效的测试。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-15 18:03:09

我没有任何使用Hilt和Testify的第一手经验,但我确实有将多个测试Rule实例混合在一起的经验。这里的问题是,每个规则都假设它将是在给定测试类中运行的唯一测试规则。因此,声明多个Rule实例可能会使它们相互竞争,并使它们处于立即失败的状态。

为了让这些规则协同工作,您可能需要使用ruleChain

https://junit.org/junit4/javadoc/4.12/org/junit/rules/RuleChain.html

这篇关于developer.android.com的文章演示了在测试中处理多个TestRule对象的几种技术:https://developer.android.com/training/dependency-injection/hilt-testing#multiple-testrules

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69802966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档