Как да отстраните грешки в единичен тест на robolectric единица в Android Studio

Мога да отстраня грешки в моя проект за android gradle, ако стартирам всички тестове на единица, като използвам следните стъпки:

Първо конфигурирайте IDE с Gradle Run/Debug конфигурация за Unit Testing с помощта на Robolectric & JUnit

  1. в менюто IDE направете: Файл / Настройки / Компилатор / Gradle : Премахнете отметката от „Използване на компилация в процеса“
  2. В IDE направете: Run / Edit Configuration / + / Gradle
  3. Въведете следните данни в полета: Име: test , Gradle проект: .../app/build.gradle, Задачи: test, Параметри на скрипта: --debug --stacktrace

След това, за да стартирате/отстраните тестове от IDE, направете:

  1. Изберете "тест" от конфигурацията
  2. За да стартирате: Изпълнете / Изпълнете „тест“
  3. За отстраняване на грешки: Изпълнете/отстранете „тест“

Това ми позволява да стартирам всички тестове в програмата за отстраняване на грешки.

Сега търся начин да направя същото, но само за един определен тест. Всякакви предложения как би било страхотно.


person Farrukh Najmi    schedule 22.12.2014    source източник
comment
правите ли всички стъпки за отстраняване на грешки в тест в android studio? Кой плъгин използвате? Някои плъгини ви предоставят пълна robolectric поддръжка в android studio, като github.com/JCAndKSolutions/android-unit-test   -  person nenick    schedule 28.12.2014


Отговори (1)


Зависи от версията на gradle, която използвате. Ако използвате версия 1.x, добавете следния параметър на скрипт към вашата конфигурация за изпълнение

-Dtest.single=<testfilename> 

e.g.

-Dtest.single=MyTest

Не е нужно да се притеснявате за пътя до файла - само името на файла, съдържащ тестовия клас, без крайния .java

Ако използвате gradle 2.x, добавете следния параметър на скрипта към вашата конфигурация за изпълнение

--tests <test class name>

e.g.

--tests com.example.data.MyTest

или --tests *.MyTest

Със заместващи знаци можете да изпълнявате не само един тест, а подмножество от вашите тестове

--tests com.example.data.*
person drew    schedule 23.12.2014
comment
Използвам gradle 1.12 и -Dtest.single=MyTest (с MyTest заменен със специфичен тестов клас impl без квалификация на пакет) не работи. Вместо това бяха проведени всички тестове. Опитах се да посоча и като VM опция, и като параметри на скрипта, но нито едното не помогна. - person Farrukh Najmi; 30.12.2014
comment
Частта от отговора по-горе, която се отнася до gradle 2.x, работи за мен. Частта, която се отнася до gradle 1.x, не го направи. - person Farrukh Najmi; 31.12.2014