2016-04-07 2 views
5

В roboelectric при написании тестового класса вы объявляете аннотацию @RunWith, в которой есть RobolectricGradleTestRunner и RobolectricTestRunner.class. В чем разница и какой из них мы должны использовать? Почему, во-первых, 2. Если я использую RobolectricTestRunner то он не работает для меня это говорит, что некоторые странные ошибки, как:RobolectricGradleTestRunner vs RobolectricTestRunner.class

"java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity." 

Однако это, кажется, чтобы уйти, если я использую RobolectricGradleTestRunner.

ответ

16

RobolectricTestRunner был первым и предназначен для проектов на основе maven.

RobolectricGradleTestRunner был предназначен для проектов на основе град, поскольку некоторые пути изменились. Поскольку robolectric 3.1.1 это не является более необходимым и теперь устарело.

Для получения более подробной информации смотрите также http://robolectric.org/getting-started/

+5

RobolectricGradleTestRunner осуждается [3.1.1] и использование должно быть заменено RobolectricTestRunner - https://github.com/robolectric/robolectric/wiki/3.0-to-3.1 -Upgrade-Guide –

+0

'RobolectricGradleTestRunner' удален с 3.3 –

+2

Я получаю сообщение об ошибке: ** Нет такого файла манифеста: build/intermediates/manifestests/full/debug/AndroidManifest.xml ** –