Próbuję przeprowadzić test jednostkowy w mojej aplikacji Android, a to jest prosty samouczek testowy, co robię.Dlaczego Android Studio mówi "Zdarzenia testowe nie zostały odebrane"?
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class ServerListManagerTest extends AndroidTestCase{
@Test
public void testTrueIsTrue() throws Exception {
assertEquals(true, true);
}
}
Katalog jest tak, src\main\androidTest\java\some packages\ServerListManagerTest.java
Próbowałem zmianę katalogu tego, a także zbudować konfigurację. , ale studio android wciąż nie rozpoznaje testu mojej jednostki, mimo że kompilacja się powiodła.
To mój build.gradle w aplikacji
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.kaist.se.pmpapp"
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { java.srcDirs = ['src/main/java', 'src/androidTest/java'] } } }
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
androidTestCompile 'org.robolectric:robolectric:2.4'
androidTestCompile 'junit:junit:4.12'
androidTestCompile group: 'junit', name: 'junit', version: '4.12'
}
Co jest złego w moim kodu ????
Wypróbowałem twoją sugestię i teraz widzę komunikat "Nie znaleziono testów dla podanych elementów", chociaż mój kod testowy jest taki sam jak powyżej. –
Przynajmniej jest to inny problem, więc robimy postępy. Uważam, że twój test znajduje się na niewłaściwym katalogu. Mam moje w 'src/test/java/...' (tj. Równolegle do _main_). 'src/androidTest/java' służy do testów uruchamianych na samym urządzeniu. –
W raporcie testy jednostkowe zakończyły się pomyślnie, ale AS powiedział, że zdarzenia testowe nie zostały odebrane. Po prostu wyłączyłem opcję "Użyj budowania w procesie" zgodnie z twoją radą, a teraz widzę wynik w AS. Nienawidzę tego rodzaju rzeczy w narzędziach. Dlaczego nie mogą po prostu pracować zgodnie z oczekiwaniami po wyjęciu z pudełka, bez godzin spędzonych przez użytkownika na nieznanych błędach, a następnie w końcu przeszukując internet w poszukiwaniu poprawki. –