Program uruchamiający test jest jednostką wykonawczą przepływu wywołań. To tutaj faktycznie przeprowadzane są testy.
Interfejsy
Osoby uruchamiające testy są definiowane za pomocą interfejsu IRemoteTest , który zapewnia prostą metodę run
do zaimplementowania, która zostanie wywołana, gdy testy mają zostać uruchomione.
Pozwala to na najprostszą definicję przebiegu testowego. Jednak w praktyce autorzy testów będą potrzebować więcej informacji, aby poprawnie napisać testy, zazwyczaj informacji o kompilacji i urządzeniu. Tutaj z pomocą przychodzą poniższe interfejsy.
Podstawowy
Te dwa interfejsy są obecnie najczęściej używane, ponieważ odpowiadają podstawowym potrzebom większości testów.
- IBuildReceiver umożliwia testowi pobranie obiektu
IBuildInfo
utworzonego na etapie dostawcy kompilacji, zawierającego wszystkie informacje i artefakty związane z konfiguracją testu. - IDeviceTest umożliwia TF otrzymanie obiektu
ITestDevice
reprezentującego testowane urządzenie i udostępnia interfejs API do interakcji z nim.
Zaawansowany
Istnieją dodatkowe interfejsy, które umożliwiają bardziej złożoną interakcję pomiędzy wiązką testową a modułem testowym:
- ITestFilterReceiver , która umożliwia testowi otrzymanie zestawu filtrów tylko do uruchamiania niektórych testów. Jest to przydatne przy uruchamianiu podzbioru testów.
- ITestCollector , który umożliwia osobie przeprowadzającej testy jedynie uruchomienie testów na sucho, zamiast ich faktycznego wykonania. Jest to przydatne przy zbieraniu listy wszystkich przypadków testowych.
Istniejący uczestnicy testów
Istnieje już wiele programów uruchamiających testy, niektóre dla głównych typów testów:
- AndroidJUnitTest / InstrumentationTest (powiązany z AJUR po stronie urządzenia)
- GTest (po stronie urządzenia i hosta) z biblioteką googletest
- Testy sterowane hostem (testy Java, które są wykonywane na hoście i stamtąd wywołują urządzenie)
- Testy jednostkowe Pure Java (nasz moduł uruchamiający wykonuje oba)
- Testy Pythona
- Testy Google Benchmark z biblioteką testów porównawczych
Oprócz powyższego istnieje duża liczba niestandardowych uczestników testów; służą wyspecjalizowanym celom do niektórych testów funkcjonalnych, na przykład testu rozruchowego.
Napisz nowego testera
Więcej wskazówek na temat pisania nowego modułu uruchamiającego test można znaleźć w sekcji Pisanie testów .