Спасибо! Да, я пробовал все с 2.2.1 до текущей последней стабильной 2.3.3 :) я не пробовал все версии 3.0.0, потому что важно попробовать, когда она будет официально стабильной. Так что просто использовал новейшую на данный момент 3.0.0-бета6
я есть проект Android (созданный Cordova), в который я хочу добавить (контрольно-измерительные приборы) тесты. Есть только одинMainActivity.java
это должно быть проверено.
Обычно это означает добавление некоторых зависимостей кbuild.gradle
и создание файла/src/androidTest/java/org/example/package/MainActivityTest.java
сMainActivityTest
класс и некоторые методы испытаний. (В Android Studio я даже могу сгенерировать их, используя Run -> «Record Espresso Test» - все очень просто и работает).
К сожалению, теперь у меня есть требование, чтобы эти тестовые файлы действительно работалиснаружи каталог проекта. В существующем проекте Cordova должны быть только минимальные изменения (так как он регенерируется и обрабатывается как артефакт сборки).MainActivity.java
Лучше всего будет в той же корневой папке, где находится проект Android/android
.
Как я могу этого достичь?
build.gradle
изменения могут быть добавлены вbuild-extras.gradle
файл, который настоящийbuild.gradle
уже включает, так что об этом позаботятся.
Но я понятия не имею, как разместитьMainActivityTest.java
за пределами структуры папок проекта и по-прежнему сможет запустить его внутри проекта.
Для iOS вы можете связать внешние файлы в проекте с абсолютными путями. Нечто подобное было бы и здесь идеально.
я посмотрел наsourceSets
но я не уверен, как интегрировать это в проект Android Cordova, который уже имеет этот не по умолчанию (я думаю?)sourceSets
:
android {
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
}
...
}