Вопрос

Я новичок в Android, и я видел пример кода, используя эти аннотации. Например:

@SmallTest
public void testStuff() {
    TouchUtils.tapView(this, anEditTextView);
    sendKeys("H E L P SPACE M E PERIOD");
    assertEquals("help me.", anEditTextView.getText().toString());
}

Чего достигает эта аннотация?

Это было полезно?

Решение

Этот пост в блоге объясняет это лучше всего. По сути, это следующее:

testing chart

  1. Маленький: этот тест не взаимодействует с какой -либо файловой системой или сетью.
  2. Средний: Доступ к файловым системам в коробке, в котором работают тесты.
  3. Большой: доступ к внешним файловым системам, сетям и т. Д.

В соответствии с Блог Android Developers, Небольшой тест должен занять <100 мс, средний тест <2S и большой тест <120S.

Видеть эта страница (Поиск «@SmallTest») о том, как указать, какие тесты получают запуска.

Другие советы

Как дополнение к Ответ Дэвидана и в основном Вопрос ОП В комментарии:

В контексте приведенного выше кода, на самом деле это ДЕЛАТЬ Что -нибудь, кроме того, что оставить записку для других разработчиков? Это что -нибудь обеспечивает? Есть ли какие -либо инструменты, которые используют эту аннотацию? Какова цель в разработке Android?

Вы можете запустить группу тестов, аннотированных с конкретной аннотацией.

Из Документация Androidjunitrunner:

Запуск конкретного размера теста, т.е. Самый маленький или же Средний тест или же Argetest:

Adb Shell Am Instrument -w -E -размер [Small | Medium | large] com.android.foo/android.support.test.runner.androidjunitrunner

Вы также можете настроить эти параметры через Gradle:


    android {
        ...
        defaultConfig {
            ...
            testInstrumentationRunnerArgument 'size', 'Large'
        }
    }

Видеть этот пост в блоге Больше подробностей.

Вы также можете аннотировать модульные тесты POJO @Category(MediumTest.class) или же @Category(LargeTest.class), и т. д., определяя свой собственный Категории - См Тестовые категории репо для примера

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top