【发布时间】:2020-04-18 12:09:09
【问题描述】:
我开始将我的单个模块项目拆分为多个模块。在此之前,我的测试通过了。但是现在我有一个错误:
androidx.test.espresso.NoMatchingViewException: 层次结构中没有找到匹配的视图:(在屏幕上显示给用户,id 为:com.ecwid.android:id/some_id)
我将一些基本自定义视图移动到与所有其他模块共享的“通用”模块,并且测试中的所有这些视图都没有通过没有匹配的 ID。我有一个“应用程序”模块,其中包含我的所有测试.也许我在 gradle 中写得很糟糕? 就像:
androidTestImplementation project(':general')
Espresso 依赖项也被添加到所有模块中。
【问题讨论】:
-
根据这个描述很难帮助你。也许您可以提供更多代码?如果您可以为正在测试的测试、布局和活动/片段提取一些最小用例,我们可以为您提供更好的帮助。
-
@ferini 好的,我稍后再编辑,我没有太多时间
-
一般提示:大多数 Android 测试应使用
@UiThreadTest并跳过onView()DSL。测试应该像对待对象一样对待视图对象;不要无缘无故在单独的线程中运行。 -
您可以在此 repo 中关注示例 Espresso 测试:github.com/android/app-bundle-samples
标签: android android-espresso ui-testing multi-module