Chcę, aby Robolectric pracował z Androidem Studio i próbuję użyć [grad-android-test-plugin] [1] po przejrzeniu odpowiedzi na to [pytanie] [2] , ale nie mam szczęścia.Jak korzystać z wtyczki test-grad-android
- Stworzyłem nowy projekt Androida i nazwał go MyApp.
- Wykonałem wszystkie instrukcje w sekcji "Użycie" w pliku README.
- Nie ma jeszcze żadnego kodu, aby przetestować na moim nowym projekcie, więc skopiowałem klas (w tym `RobolectricGradleTestRunner`) od
gradle-android-test-plugin/example/src/test/java/com/example
i
gradle-android-test-plugin/example/src/main/java/com/example
katalogów do odpowiednich ścieżek plików w moim nowym projekcie MyApp.
Nigdy wcześniej nie testowałem urządzenia na Androida i nie wiem, co robić dalej. Udało mi się uruchomić ./gradlew install
w katalogu głównym wtyczki, ale wykonanie tego samego w katalogu głównym mojego nowego projektu nic nie daje. To rzuca tę skargę:
Task 'install' is ambiguous in root project 'MyApp'. Candidates are: 'installDebug', 'installTest'.
ja nie jestem zaznajomiony z Gradle, tak krótki czytania podręcznika na samej Gradle, nie jestem pewien, jak rozwiązać ten problem.
Gdybym wejść do katalogu MojaApl zawierający AndroidManifest.xml
i spróbować ../gradlew clean check
zbudować i uruchomić testy, pojawia się ten błąd:
Could not determine the dependencies of task ':MyApp:testDebug'.
Android Studio nie wydają się mieć żadnych problemów ze znalezieniem Moje strony zależności. Czy ktoś może wskazać mi kierunek moich testów? Wyobrażam sobie, że jest to prosta komenda terminala lub coś, co nie zostało wymienione w README wtyczki. Twoje zdrowie!
edit:
Oto moja build.gradle
. Mam świadomość, że nie jest on strukturalnie identyczny z przykładowym projektem dołączonym do wtyczki, ale ta struktura dała mi identyczne błędy.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
classpath 'com.squareup.gradle:gradle-android-test-plugin:0.9.+'
}
}
apply plugin: 'android'
apply plugin: 'android-test'
repositories {
mavenCentral()
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 11
targetSdkVersion 18
}
}
dependencies {
compile 'com.android.support:support-v4:18.0.0'
testCompile 'junit:junit:4.11'
testCompile 'org.robolectric:robolectric:2.1.+'
testCompile 'com.squareup:fest-android:1.0.+'
}
Edit2: Poza faktem, że byłem wydającego niewłaściwych poleceń (jak wskazano w odpowiedzi Ravindra za), ja również nie udało się zrealizować moja wersja Gradle był zbyt nowy (jako komentarz Jake'a zwraca uwagę).
RE: Nie można określić z zależności zadania ': MojaApl: testDebug'. Gradle 1.7 nie jest jeszcze obsługiwany. –
... w ten sposób używasz opakowania w opakowaniu 1.6: http://www.gradle.org/docs/current/userguide/gradle_wrapper.html, a następnie uruchom opakowanie jednostkowe (NOT ./gradlew wrapper) – CjS
Ten problem dotyczy [śledzone na githubie] (https://github.com/JakeWharton/gradle-android-test-plugin/issues/3), a poprawka wkrótce zniknie. Do czasu, gdy to czytasz, prawdopodobnie jest już dostępne. – gMale