Как настроить build.gradle для тестирования в Android Studio со структурой папок Eclipse?

android eclipse android-studio junit build.gradle

30 просмотра

1 ответ

Я пытаюсь добавить тесты JUnit в проект 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.

Автор: waynesford Источник Размещён: 08.11.2019 11:26

Ответы (1)


1 плюс

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

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

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

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

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

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

myProject/
  src/
  res/
  tests/

и настроил мои исходники для этого:

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

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

Автор: waynesford Размещён: 20.08.2016 02:45
Вопросы из категории :
32x32