2013-08-23 5 views
3

Могу ли я скомпилировать файл apk для Android JUnit с помощью сценария градации? Теперь мой тестовый класс:gradle: compile android junit test apk file

public class main extends ActivityInstrumentationTestCase2<LoginWindow> { 
     public main() { 
     super("com.tecomgroup.handifox", LoginWindow.class); 
     } 
     ... 
    } 

и gradle говорит, что он не может найти класс LoginWindow. Должен ли я добавить элемент LoginWindow.java для зависимостей {}? Будет ли такая тестовая работа? Или может быть другой способ скомпилировать тестовый файл apk?

+1

проекта в плагин Gradle Android отличается от структуры Ant Android. Тесты находятся в проекте в каталоге 'src/test/java', а не в другом проекте. У вас есть тесты в другом проекте? –

+0

Мое приложение и junit тест для него - это два разных проекта (если я правильно понимаю ваш вопрос) – VMaleev

+0

@ user2172741 Затем вы должны добавить банку этого проекта как зависимость от compiletest. –

ответ

1

При использовании плагина Gradle Android вам больше не нужно иметь отдельный проект для тестирования. Источники продукции должны быть помещены в каталог src/main/java, источники испытаний должны быть в src/instrumentTest/java. То же самое относится к ресурсам.

Из руководства пользователя Gradle Android Руководство пользователя по адресу project structure.

Структура проекта

Основные файлы сборки выше ожидать структуру папок по умолчанию. Gradle следует концепции соглашения по конфигурации, предоставляя разумные значения параметров по умолчанию, когда это возможно.

Основной проект начинается с двух компонентов, называемых «исходными наборами». Основной исходный код и тестовый код. Они живут соответственно в:

src/main/ 
src/instrumentTest/ 

Внутри каждой из этих папок существует папка для каждого компонента источника. Для обоих плагин Java и Android, расположение исходного кода Java и Java-ресурсы:

java/ 
resources/ 

Для Android плагин, дополнительные файлы и папки, специфичные для Android:

AndroidManifest.xml 
res/ 
assets/ 
aidl/ 
rs/ 
jni/ 

Примечание: src/instrumentTest/AndroidManifest.xml не требуется, поскольку он создается автоматически.

Вы можете изменить структуру standard project layout

sourceSets { 
    instrumentTest { 
     java { 
      srcDir '../other/src/java' 
     } 
     resources { 
      srcDir '../other/src/resources' 
     } 
    } 
} 
+0

Я не думаю, что команда будет принимать такие действия с исходным кодом. Может быть, есть еще один способ скомпилировать тестовый файл apk? Или может быть запущен каким-то образом со ссылкой на основную папку проекта? – VMaleev

+0

@ user2172741 Вы можете изменить каталог тестовых исходных файлов. Проверьте обновление. Но помните «соглашение по конфигурации»! –

+0

Grzegorz, глава «23.12.1. Выполнение теста» говорит: «Тесты выполняются в отдельной JVM, изолированной от основного процесса сборки». Насколько я понимаю, я не могу запускать тесты пользовательского интерфейса на устройстве или эмуляторе таким образом, не так ли? – VMaleev

Смежные вопросы