如何手动失败Espresso测试

时间:2017-09-03 22:15:14

标签: android android-espresso

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

说我想要比较两种int类型的值,如果它们不匹配则无法通过测试:

@Test
public void testTwoInts() {

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

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

1 个答案:

答案 0 :(得分:4)

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会在同一个类中提供失败方法。执行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");
}