2016-08-20 1 views
2

Я пытаюсь добавить тесты JUnit в проект Android Studio, который был перенесен из проекта Eclipse.Как настроить build.gradle для тестирования в Android Studio с структурой папок Eclipse?

Мой build.gradle выглядит следующим образом:

sourceSets { 
    main { 
     manifest.srcFile 'AndroidManifest.xml' 
     java.srcDirs = ['src'] 
     resources.srcDirs = ['src'] 
     aidl.srcDirs = ['src'] 
     renderscript.srcDirs = ['src'] 
     res.srcDirs = ['res'] 
     assets.srcDirs = ['assets'] 
    } 
} 

Я попытался имитируя текущую структуру папок по умолчанию Android Studio иметь свои тесты в src/test/java/com/mydomain/myapplication и установке моих sourceSets к:

sourceSets { 
    main { 
     ... 
    } 
    test { 
     java.srcDirs = ['src/test'] 
    } 
} 

но получили ошибки, такие как Empty test suite и Package name does not correspond to the file path.

ответ

1

После долгих проб и ошибок я в конце концов понял это.

каталог, указанный в

sourceSets { 
    test { 
     java.srcDirs = ['src/test'] 
    } 
} 

не может быть подкаталог main sourceset-х java.srcDirs.

sourceSets { 
    main { 
     java.srcDirs = ['src'] 
    } 
} 

Я переехал мою тестовую папку на верхнем уровне структуры папок моего проекта таким образом, чтобы это выглядело так:

myProject/ 
    src/ 
    res/ 
    tests/ 

и настроил мой sourceSets к этому:

sourceSets { 
    main { 
     ... 
    } 
    test { 
     java.srcDirs = ['tests'] 
     resources.srcDir file('tests/com/mydomain/myapplication/resources') 
    } 
} 

и это сработало. Любые тесты JUnit, которые вы размещаете в папке tests/, теперь будут запущены, но я решил разместить свои тесты в каталоге tests/com/mydomain/myapplication/, чтобы они хорошо сочетались, когда вы смотрите на них в представлении проекта «Android». Вы можете видеть, что именно там я указал свой каталог resources/.