Как продолжить тесты Android espresso после сообщения о сбоях? Ниже приведен код, который я использую для повторения теста для нескольких входных данных

#android #user-interface #automation #android-espresso

#Android #пользовательский интерфейс #автоматизация #android-espresso

Вопрос:

Ниже приведен фрагмент кода

 @Test
fun verifyInvalidAge() {
    for (i in 15..30) {
        onView(withId(R.id.editTextNumber)).perform(replaceText(i.toString()))
        onView(withId(R.id.button)).perform(click())
        onView(withId(R.id.statusTextView)).check(matches(withText("You can't drink yet :(")))
    }
}
 

Я хочу сообщать о сбоях, если таковые имеются, для любого ввода и продолжить тест.

Хотите просмотреть отчет о тестировании на основе моих входных данных после выполнения теста.

Ответ №1:

Чтобы сделать что-то подобное, вы хотели бы использовать так называемые параметризованные тесты.

Эти тесты проходят через набор значений и запускают тест для каждого значения в наборе.

Ниже приведен пример:

 @RunWith(Parameterized.class)
public class FibonacciTest {
    @Parameters
    public static Collection<Object[]> data() {
        return Arrays.asList(new Object[][] {     
                 { 0, 0 }, { 1, 1 }, { 2, 1 }, { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 }  
           });
    }

    private int fInput;

    private int fExpected;

    public FibonacciTest(int input, int expected) {
        this.fInput = input;
        this.fExpected = expected;
    }

    @Test
    public void test() {
        assertEquals(fExpected, Fibonacci.compute(fInput));
    }
}
 

Более подробная информация здесь:

https://github.com/junit-team/junit4/wiki/Parameterized-tests