Параметризованные тесты Android с различными наборами данных

В настоящее время я изучаю способы написания модульных и интеграционных тестов для приложений для Android. Я так запутался, что отсутствует возможность предоставить набор параметров непосредственно методу, как это делает библиотека JUnitParams. Итак, у меня есть несколько вопросов:

  1. Есть ли способ объединить AndroidJUnit4 и JUnitParamsRunner, чтобы объединить доступ к классам Android (например, Rect) с параметризованными методами?
  2. Если нет, то как лучше организовать архитектуру тестов? К примеру, у меня есть набор недопустимых данных, которые должны привести к исключению, и набор допустимых данных (пороговые значения и обычные) и два метода для их проверки. Должен ли я создать два класса для этой цели? (Поскольку невозможно предоставить разные наборы данных, которые будут использоваться в одном классе без клейкой ленты, такой как параметр enum и т. Д.)

1 ответ

Я не знаком с JUnitParamsRunner, но я бы рекомендовал создать несколько методов тестирования, по одному для каждого результата, который вы хотите проверить. Каждый класс, который вы тестируете, должен иметь свой собственный класс тестирования, и код, необходимый для тестирования, будет содержаться внутри него (кроме общих помощников).

Вот как обычно выглядят мои тесты (в основном, данные, когда, потом):

public void testExample() throws Exception {
    // setup test data

    // do the actual method calls

    // assert the expected outcome
}
Другие вопросы по тегам