2016-10-14 5 views
0

Установка:Время ожидания для AndroidJUnitRunner + ActivityInstrumentationTestCase2?

Старшего проекта, который я унаследовал очень много испытаний приборов унаследованных, и я хотел бы ввести тайм-аут на них, так как многие из них могут зависнуть, и это делает его трудно получить отчет об испытаниях. Я сейчас обновляю тесты в стиле Junit4, но на данный момент они расширяют ActivityInstrumentationTestCase2.

Пробовал до сих пор:

В документации AndroidJUnitRunner он говорит, чтобы установить этот флаг:

Установить время ожидания (в миллисекундах), который будет применяться для каждого теста: -e timeout_msec 5000 ...

... Все аргументы могут быть также указаны в в AndroidManifest с помощью тега мета-данных

Я попытался добавить конфигурацию AndroidJUnitRunner в манифест приложения и манифест теста, но элемент метаданных timeout_msec пока не действует.

ответ

1

Вы можете использовать правило для предоставления тайм-аута для каждого теста в классе, как показано ниже.

@Rule public Timeout timeout = new Timeout(120000, TimeUnit.MILLISECONDS); 

Можно также указать на основе тестирования тайм-аута с помощью следующих

@Test(timeout = 100) // Exception: test timed out after 100 milliseconds 
public void test1() throws Exception { 
    Thread.sleep(200); 
} 

Вы можете прочитать больше о различиях по этой ссылке

https://stackoverflow.com/a/32034936/2128442

+0

Любовь получать downvotes для ответов на вопросы которые отображаются в верхней пятерке поиска Google. Заполнение пробелов не должно приводить к отрицательным голосам, тем более, что это должно быть полезным сообществом, а не циничным. – Randy