Jaka jest różnica między folderami src / androidtest i src / test?


119

W projekcie, w Android Studio, domyślnie są dwa foldery testowe.

Pierwsza to src/androidTest. Ten folder istniał już w poprzedniej wersji Android Studio. Niemniej jednak jest teraz domyślnie nowy folder testowy src/testi nowa zależność,testCompile 'junit: junit: 4.12' w build.gradle.

Którego folderu używam do testowania? Jakie są różnice między nimi?

Odpowiedzi:


134

src/androidTest jest przeznaczony do testów jednostkowych, które obejmują instrumentację systemu Android.

src/testjest przeznaczony do czystych testów jednostkowych, które nie obejmują platformy Android. Możesz tutaj przeprowadzać testy bez uruchamiania na prawdziwym urządzeniu lub na emulatorze.

Możesz użyć obu folderów. Użyj pierwszego do przetestowania kodu korzystającego z platformy Android. Użyj drugiego, aby przetestować kod, który jest czystą klasą Java. Metody pisania testów są prawie takie same.

Więcej informacji tutaj: http://developer.android.com/tools/testing/testing_android.html



Właśnie uratowałeś mi dzień
C Johnson,

a co z androidTestDebug?
the_prole

48

Świetnym źródłem informacji dotyczących ogólnie testowania Androida jest strona dla programistów Sprawdzone metody testowania :

  • Lokalne testy jednostkowe ( /src/test/java/)

Testy jednostkowe uruchamiane lokalnie na wirtualnej maszynie języka Java (JVM). Użyj tych testów, aby zminimalizować czas wykonywania, gdy testy nie mają zależności platformy systemu Android lub gdy można mockować zależności platformy systemu Android.

  • Testy instrumentalne ( /src/androidTest/java/)

Testy jednostkowe uruchamiane na urządzeniu z systemem Android lub w emulatorze. Te testy mają dostęp do informacji o instrumentacji, takich jak kontekst testowanej aplikacji. Użyj tych testów, gdy Twoje testy mają zależności systemu Android, których nie można spełnić.

https://developer.android.com/training/testing/start/index.html

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.