Android:启用了检查按钮

我在测试我的应用时遇到问题。 我创建了一个espresso测试,它应该会失败,因为每当我在模拟器中启动我的应用程序时,我都会得到预期的行为。 有我的测试:

onView(withText("wrong answer")).perform(click()); onView(withId(R.id.nextQuestionButton)).check(matches(isEnabled())); 

在启动测试时,没有报告任何内容,而在单击其文本为“错误答案”的radioButton时,不应启用nextQuestionButton。

根据我的理解,你希望它像这样工作:

如果启用了nextQuestionButton ,则执行以下操作:

  • 点击’错误​​答案’,
  • 检查nextQuestionButton更改声明为NOT enabled。

如果是这样,代码应该是这样的:

 onView(withId(R.id.nextQuestionButton)).check(matches(isEnabled())); onView(withText("wrong answer")).perform(click()); onView(withId(R.id.nextQuestionButton)).check(matches(not(isEnabled()))); 

Espresso允许您在测试中使用Hamcrest匹配器。

Hamcrest 1.3快速参考 。

请检查一下(如果您还没有这样做):

浓缩咖啡2.1。 Espresso Cheat Sheet Master

根据你post的这个片段:

在启动测试时,没有报告任何内容,而在单击其文本为“错误答案”的radioButton ,不应启用radioButton

这意味着您没有设置禁用下一个问题按钮,因此Espresso通过了此测试。