Je veux tester un appareil glisser une action gauche/droite sur l'écran dans Android, mais je n'ai pas été en mesure de trouver une documentation à ce sujet. Est-ce que quelqu'un peut me donner un coup de main? Peut-il même être fait?Comment puis-je tester les gestes de l'unité dans Android?
Répondre
Généralement, le toucher effectuera une action et vous testerez l'action, pas le toucher lui-même.
Je ne comprends pas. Es-tu en train de dire que je devrais faire l'action et que le test écoute quand il a été fait. – NotACleverMan
Supposons que AndroidOS appelle OnSwipeEvent quand quelqu'un glisse. Dans le talon d'OnSwipeEvent vous appelez MySwipeHandler. Vous devez tester MySwipeHandler. –
Est-ce le seul moyen? J'ai pensé que je serais capable de tester pour voir si les événements de balayage ont réellement fonctionné au lieu de simplement tester les méthodes qu'ils sont censés appeler. Je peux simuler des clics de bouton et autres. Un peu bummer je ne peux pas faire la même chose. Merci quand même. – NotACleverMan
J'ai trouvé votre question en essayant d'apprendre à faire exactement la même chose pour le même type de geste. J'ai été capable d'exécuter des tests unitaires assez purs en utilisant l'approche suivante. En d'autres termes test unitaire View.OnTouchListener.onTouch(View v, Event event)
fonction.
Voici comment j'ai pu « maquette » du View
et Event
afin d'exécuter onTouch
import android.os.Looper;
import android.test.mock.MockContext;
import android.view.MotionEvent;
import android.view.ViewStub;
import junit.framework.TestCase;
public class SwipeDetectorTest extends TestCase {
public void testOnTouch() throws Exception {
class MyMockContext extends MockContext {
public Looper getMainLooper() {
return Looper.getMainLooper();
}
}
MyMockContext context = new MyMockContext();
View v = new ViewStub(context);
int x = 0; int y = 0;
// simulated down event
MotionEvent event =
MotionEvent.obtain(1, 0, MotionEvent.ACTION_DOWN, x, y, 0);
SwipeDetector swipeDetector = new SwipeDetector();
assertFalse(swipeDetector.onTouch(v, event));
x = 30; y = 0;
event =
MotionEvent.obtain(1, 1, MotionEvent.ACTION_MOVE, x, y, 0);
boolean action = swipeDetector.onTouch(v, event);
assertTrue(action);
boolean result = swipeDetector.getSwipeHorizontal()
.equals(SwipeDetector.Action.LeftToRight);
assertTrue(result);
}
}
- 1. Quels sont les gestes dans Android?
- 2. Android: détecter les gestes de fling
- 3. Dans Android, comment écouter des gestes sur un ImageView?
- 4. Gérer les gestes dans iPhone IOS 3.1.2
- 5. comment créer un fichier brut de gestes android
- 6. Supprimer les gestes de RatingBar
- 7. Comment éviter les gestes de pincement dans MPMoviePlayerViewController?
- 8. Android - Un moyen de tester Gestures sur l'émulateur?
- 9. Comment tester multi-touch dans Android Emulator
- 10. Contrôle de la vidéo avec les gestes
- 11. Comment tester les fournisseurs de contenu sur Android
- 12. tester le localhost dans l'émulateur android
- 13. iPhone - Gestes UIWebView
- 14. iPhone Gestes UIPickerView
- 15. Gestes et dessin couleur
- 16. Comment tester rapidement une réponse HTTP dans un émulateur Android
- 17. Gestes ListView et multi-touch
- 18. Comment ajouter des gestes à un UITableViewController?
- 19. Gestes complexes sur l'iPhone
- 20. Observer pincer les gestes multi-touch dans un UITableView
- 21. Comment tester unitairement les redirections dans cfwheels
- 22. Comment tester les fichiers lib dans Rails?
- 23. Comment tester les aides dans Rails?
- 24. Comment tester les collections génériques dans nunit?
- 25. Comment tester l'unité d'exception dans les discussions
- 26. Gestes d'implémentation sur Microsoft Surface
- 27. Android Multitouch - Possibilité de tester en émulateur?
- 28. Comment tester la condition de faible puissance sur Android
- 29. Comment tester les configs unitaires
- 30. Comment tester les touches Ctrl?
« Quelqu'un peut-il prêter une main? » Vous voulez que quelqu'un fasse les balayages pour vous? –