编写 Espresso 测试时未找到 R.id

Bas*_*oud 5 android kotlin android-espresso

我尝试编写一个小测试来尝试 Espresso。

package com.mycompany.myapp.somemodule

import com.mycompany.myapp.R
import other.uselful.imports

@RunWith(AndroidJUnit4::class)
@LargeTest
class DemoTest {

    @get:Rule
    var startActivity: ActivityTestRule<StartActivity> = ActivityTestRule(StartActivity::class.java)


    @Test
    fun aDemoTest() {
        onView(withId(R.id.theElementId))
                .check(matches(isClickable()))
    }
}
Run Code Online (Sandbox Code Playgroud)

Android Studio 没有显示任何错误。如果我 ctrl+click R.id.theElementID,它会在适当的布局文件中找到它。但是,当我尝试运行时,出现编译错误:

未解析的参考:id

我该如何解决这个问题?

Mar*_*ler 0

猜测实际问题是活动尚未开始。

R.id.theElementId可能是无效的资源描述符。

尝试R.id.the_element_id一下。

另外,添加@UiThreadTest注释...

  • 驼峰式 id 在其他地方都适用。我不认为这是问题所在。UiThreadTest 标签没有帮助。不管怎么说,还是要谢谢你 (2认同)