INTRO
Aby wyjaśnić swoje pytanie i układać klas prosicie, istotne jest, aby dzielić PRZED testy w dwóch kategoriach. testy JUnit (w teorii zwykły Java) i Instrumentation testuje (które są również częścią pakietu testu JUnit, ale pozwoli Ci przetestować więcej SDK Androida powiązanych funkcji).
Tradycyjne testy JUnit izolują fragment kodu i przeprowadzają test. Oprzyrządowanie testuje dostęp bardziej włącznie do komponentów Androida. ALE TEŻ TESTY AKUMULATORÓW PORZĄDKUJĄ Z PAKIETU JUNITOWEGO, mimo że są tworzone w systemie nawet przed uruchomieniem kodu aplikacji, co wyjaśnia, dlaczego są wolniejsze, a ponadto potrzebują emulatora lub telefonu uruchamiającego testowaną aplikację do wykonania.
(Wykonaj pogrubioną czcionkę we wszystkich klasach, o których wspominasz, ale są jeszcze inne, których użyję bez napisu pogrubionego).
**** PIERWSZE CZĘŚĆ ** (testy jUnit) **
A) testy jUnit które rozciągają TextCase (zazwyczaj szybciej niż oprzyrządowanie, łączenie dobrze Mock framweworks)
AndroidTestCase: Umożliwia dostęp do kontekstu testowanej aktywności i jej zasobów, jest klasą bazową, która rozszerza bardziej wyspecjalizowane podklasy, jest idealny do uzyskiwania dostępu do baz danych, danych systemu plików. Możesz łatwo wywołać metodę getContext() i uzyskać dostęp do zasobów bez nawiązania bezpośredniego kontaktu z działaniami, tak jak w przypadku testów oprzyrządowania.
ApplicationTestCase, który kontroluje środowisko, w którym tekst aplikacji, głównie kontekst i cykl życia. Inne naprawdę użyteczne rozszerzenia AndroidTestCase umożliwiają sterowanie ładowarkami, usługami i dostawcami treści, ale z jakiegoś powodu wciąż nie ma żadnego odbiornika Broadcast, który można nazwać [pośrednio] [1] metodą MethodationRegistry.getTargetContext(), a następnie tworzenie BroadCastReceiver . Również jest to bardzo powszechne użycie innego ramy Mock z JUnit, który jest zwykle szybciej niż InstrumentationTests
-.-.-.-.-.-.-.-.--
**** druga część ** (testy pomiarowe) **
B)testy pomiarowe, które rozciągają TestCase są uważane testy funkcjonalne, przyjąć, aby zapewnić, że działają dobrze z boku użytkownika, widok część MVC Są zwykle wolniejsze niż inne wymienione kategorie
InstrumentationTestCase to klasa bazowa przydatna wysłać kluczowych zdarzeń UI symulowanie klawiszy klawiatury QWERTY lub przyciski DPad, również uruchamia działania, które muszą być testowane, a nawet Intents
ActivityTestCase zwykle nie używane samodzielnie, ma po prostu wspólny kod dla podklas, ale w przypadku gdy nie są spełnione przez 3 klasy, które dziedziczą z tego (patrz poniżej), jak nowy składnik przyszłości można go używać do czasu nie istnieje Klasa TestCase dedykowana.
ActivityInstrumentationTestCase2 to najczęściej używana klasa Instrumentation do pisania testów funkcjonalnych, od konstruktora wywoływana jest instancja działania do przetestowania. Zasadniczo wywołujesz aktywność za pomocą funkcji getActivity() i możesz pratycznie uruchomić dowolną metodę tego działania.
ActivityInstrumentationTestCase, jest przestarzała i ActivityUnitTestCase że chociaż jest pod Instrumentation jest bardziej podobna do badanej jednostki
co o InstrumentationTestCase? – Zorb
ActivityUnitTestCase nie może pomóc więcej dla API24 – sunnyleevip