Xcode 7 † ma nowy sposób testowania interfejsu użytkownika bezpośrednio, w tym nowy cel testowania "Pakiet testowy interfejsu iOS" (lub "OS X").Xcode 7: Czy przepaść między testami aplikacji i testami interfejsu użytkownika jest niemożliwa do pokrycia?
W celu testowania UI, wydaje się, że nie ma wbudowanego w dostępie do modelu lub klas, które obejmują swoją aplikację. Na przykład. [UIApplication sharedApplication]
nie będzie można wywoływać z testów interfejsu użytkownika. Oznacza to, że "testy aplikacji" i "testy interfejsu użytkownika" istnieją w potencjalnie nieprzeniknionej przepaści.
Jak stwierdzono here:
Problem polega na tym, że testy UI Xcode nie zezwala na dostęp do aktualnej aplikacji.
Pytania:
- Może to być zmostkowane przepaść? Jeśli tak, to w jaki sposób, w szczegółach, z ustawieniami kompilacji i linkera i prawdopodobnie działającym na githubie
xcodeproj
. - Gdzie można znaleźć wyraźne stwierdzenie tego podziału w dokumentach firmy Apple.
† W chwili pisania tego tekstu, oprogramowanie beta.
Załóżmy, że masz aplikację z dynamiczną treścią. Chcesz manipulować interfejsem użytkownika, a następnie weryfikować coś, co nie jest widoczne na ekranie. Lub, być może musisz zweryfikować określony stan przed podjęciem decyzji, która metoda wywołać, a ten stan jest znany tylko poprzez zapytanie o metodę Objective-C w kodzie aplikacji. Fajnie jest mieszać oba sposoby testowania, bez konieczności samodzielnego tworzenia każdego widoku. –
W nawiązaniu do komentarzy Teresy, przed wykonaniem testów interfejsu użytkownika warto zainicjować projekt do pewnego stanu. – gone