Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    décembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2016
    Messages : 19
    Points : 14
    Points
    14

    Par défaut Chercher la ligne correcte parmis plusieurs

    Bonjour à tous,

    J'ai sur une page 10 lignes à contrôler afin de vérifier qu'au moins 1 est bonne.

    Le scénario est le suivant :
    - Je regarde la valeur de la ligne 1 et si celle-ci est bonne, je sors de la boucle sinon je passe à la ligne 2.
    - Je répète les actions de contrôle de la ligne 1 sur les lignes 2 à 10.
    - Si aucune ligne ne correspond je renvois le message "Aucune ligne trouvée"

    Je me sers de la fonction assertEquals pour vérifier mes lignes mais je dois le faire ligne par ligne.

    Je voudrais donc combiner une boucle for avec un try.

    Mon code de test est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public void someTest() {
     
    	 for(int i = 0, j = 5; i <= 10 ; i++)
    	 { 
     
       try {
    	   assertEquals(i, j);
       }
       catch (Exception e) {
    	   System.out.println("perdu");
       }
       System.out.println("gagner");  
      // break;
     
    }
    Cependant, je n'ai aucun message dans la console.

    Merci

    Hadrien

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    août 2006
    Messages
    3 867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2006
    Messages : 3 867
    Points : 7 607
    Points
    7 607

    Par défaut

    Bizzare car chez moi j'ai bien quelque chose dans la console. Et probablement pas ce que tu attendais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Exception in thread "main" java.lang.AssertionError: expected:<0> but was:<5>
    	at org.junit.Assert.fail(Assert.java:88)
    	at org.junit.Assert.failNotEquals(Assert.java:834)
    	at org.junit.Assert.assertEquals(Assert.java:645)
    	at org.junit.Assert.assertEquals(Assert.java:631)
    	at snippet.Snippet.main(Snippet.java:13)
    Mais je ne comprends pas pourquoi utiliser AssertEquals de JUnit pour faire ce genre de choses... surtout que AsserEquals ne renvoie pas une Exception mais AssertionError
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    décembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2016
    Messages : 19
    Points : 14
    Points
    14

    Par défaut

    Bonjour,

    En effet, il s'agit d'une AssertionError.

    Je ne comprends pas pourquoi elle n'est pas capturée par la forme générique Exception e ?

    J'utilise AssertEqual car pour le moment c'est pour ce que je connais.

    Après, je suis preneur de toute solution.

    Merci beaucoup

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    août 2006
    Messages
    3 867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2006
    Messages : 3 867
    Points : 7 607
    Points
    7 607

    Par défaut

    Probablement, car AssertionError n'hérite pas de Exception.

    Après pour la comparaison, ben tout dépend de ce que tu veux comparer, mais si ce sont des entier primitif, == fonctionnera très bien et pas besoin d'exception ni quoique ce soit.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Valeur maximale parmi plusieurs lignes
    Par bertrantitude dans le forum Débutant
    Réponses: 2
    Dernier message: 26/03/2017, 18h38
  2. [XL-2007] Allégement d'une suppression de lignes parmi plusieurs lignes
    Par Sylla12345 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/12/2016, 16h21
  3. [XL-2007] Trouver la dernière colonne occupée parmis plusieurs lignes sélectionnées
    Par Rémy A. dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/07/2013, 12h13
  4. Réponses: 2
    Dernier message: 24/08/2005, 10h59
  5. sélection d'un max parmi plusieurs champs
    Par invitésuprise dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/08/2005, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo