如何手动使 Espresso 测试失败

How to manually fail an Espresso test

有没有办法手动使 Espresso 测试失败?

假设我想比较两个 int 类型的值,如果它们不匹配则测试失败:

@Test
public void testTwoInts() {

    int var1 = mActivityTestRule.getActivity().var1;
    int var1 = mActivityTestRule.getActivity().var2;

    if(var1 != var2)
        fail();
}

Espresso 基于 JUnit 构建,因此您可以在其中使用 JUnit 断言。这使您更清楚您打算做什么。在这种情况下,执行 import static org.junit.Assert.assertTrue 然后在您的测试中执行

@Test
public void testTwoInts() {

    int var1 = mActivityTestRule.getActivity().var1;
    int var1 = mActivityTestRule.getActivity().var2;

    assertEquals(var1,var2);
}

如果您真的 想要手动执行(不推荐),JUnit 会在同一个 class 中提供失败方法。执行 import static org.junit.Assert.fail 然后使用任一版本的失败方法(一个不带参数,一个带解释失败原因的字符串)。在这里你可以做

@Test
public void testTwoInts() {

    int var1 = mActivityTestRule.getActivity().var1;
    int var1 = mActivityTestRule.getActivity().var2;

    if(var1 != var2)
        fail("The integers are not equal");
}