【问题标题】:Android Espresso: why my tests don't pass in multi-module project?Android Espresso:为什么我的测试没有通过多模块项目?
【发布时间】: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


【解决方案1】:

不应该是testImplementation而不是androidTestImplementation吗?

【讨论】:

    猜你喜欢
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多