安卓:检查按钮是否已启用

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

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

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


答案 1

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

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

  • 点击“错误答案”,
  • 检查是否更改为“未启用”。nextQuestionButton

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

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.意式浓缩咖啡备忘单大师 [已更新]

根据你帖子的这个片段:

启动测试时,不会报告任何内容,而单击其文本为“错误答案”时不应启用。nextQuestionButtonradioButton

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


答案 2

推荐