我在测试我的应用时遇到问题。我创建了一个espresso测试,它应该会失败,因为每当我在模拟器中启动我的应用程序时,我都会得到预期的行为。有我的测试:
onView(withText("wrong answer")).perform(click());
onView(withId(R.id.nextQuestionButton)).check(matches(isEnabled()));
启动测试时,没有报告任何内容,而nextQuestionButton应该在单击radioButton时启用不,其文本为"错误答案"。
答案 0 :(得分:24)
根据我的理解,你希望它能像这样工作:
如果
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匹配器。
请同时查看(如果您还没有这样做):
Espresso 2.1. Espresso Cheat Sheet Master
根据你帖子的这个片段:
启动测试时,系统不会报告任何内容,而点击文字为"错误答案"的
nextQuestionButton
时不应启用radioButton
。
这意味着您没有设置禁用下一个问题按钮,因此Espresso通过了此测试。