J'ai quelques méthodes commeComment écrire une méthode qui exécute une autre méthode reçue en paramètre dans Java 7?
public static ViewInteraction findView(int id) {
return onView(allOf(withId(id), isDisplayed()));
}
public static ViewInteraction findView(int id, int index){
return onView(allOf(withIndex(withId(id), index), isDisplayed()));
}
public static ViewInteraction findView(int id, String text) {
return onView(allOf(withText(text), withId(id)));
}
public static ViewInteraction findView(String text) {
return onView(allOf(withText(text), isDisplayed()));
}
Ces méthodes chercher quelque chose et quand pas trouvé jeter une exception. Qu'est-ce que je voudrais faire est d'écrire une méthode qui exécute l'une de ces méthodes afin que je puisse essayer de trouver quelque chose plusieurs fois avant de finalement jeter l'exception. Le long de ces méthodes sont 10 autres ou plus.
J'ai essayé d'utiliser le modèle de stratégie et le modèle de commande, mais soit ils ne fonctionnaient pas pour moi, soit je ne savais pas comment les implémenter. Si la solution en est une, pourriez-vous me montrer une explication claire ou le faire dans la réponse?
J'ai cherché des tutoriels d'entre eux, mais tous étaient très brefs et je ne suis pas un développeur senior à comprendre tout de suite.
Merci pour votre aide!
Il serait préférable de poster le code que vous avez de la façon dont ces méthodes sont utilisées et quel est le résultat souhaité. – Strelok
Cela dépend de ce que font ces méthodes. S'ils font fondamentalement la même chose mais opèrent sur des champs différents, vous pouvez passer un objet qui décrit votre "requête". Cet objet peut contenir des champs comme 'text' et le type pourrait être quelque chose de nullable (où' null' signifierait 'ne pas l'utiliser') ou 'optionnel' (où 'isPresent()' renvoie false pour indiquer qu'il ne devrait pas ne pas être utilisé) ou autre chose. De cette façon, vous n'aurez probablement pas besoin d'appeler plusieurs méthodes, mais de le faire d'un seul coup - à nouveau: à condition qu'elles soient très similaires. –
Thomas
Mise à jour de la question avec les méthodes exactes. Ils sont utilisés pour trouver des vues avec un expresso. –