IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Tests et Performance Java Discussion :

[JUnit 4] Simuler des saisies dans la console - Plusieurs fois


Sujet :

Tests et Performance Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 86
    Points : 42
    Points
    42
    Par défaut [JUnit 4] Simuler des saisies dans la console - Plusieurs fois
    Bonsoir,

    Voila j'apprends à utiliser JUnit - c'est embêtant je met des U majuscules de partout maintenant - et j'ai pour ce faire, j'ai un petit programme qui me demande de saisir des données aux claviers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    createPerson() {
            System.out.println("Nom > ");
    	String nom = readLine();
    	System.out.println("Prenom > ");
    	String prenom = readLine();
    	System.out.println("age > ");
    	int age = readNumber();
    }
    et donc j'ai ma classe de test via JUnit qui me lance le test de cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ByteArrayInputStream input =  new ByteArrayInputStream(("Albert\nPierre\n50").getBytes());
    System.setIn(input);
    Appli.createPerson();
    assertEquals(1, Appli.getPersonNumbers());
    Mon problème est que lors que la fonction demande des données, elle arrive Albert mais les autres non ! Du coup pas moyen de testé cela correctement.

    Y'a t'il un moyen pour faire passer toutes les informations ?

    J'espère que vous pourrez m'aider !
    Merci

  2. #2
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Quelle est ta méthode readLine ?
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 86
    Points : 42
    Points
    42
    Par défaut
    La voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private static String readLine() {
    		BufferedReader standard = new BufferedReader(
    				new InputStreamReader(System.in));
    		try{
    			String inline = standard.readLine();
    			return inline;
    		}
    		catch (Exception e)
    		{
    			return ("data entry error");
    		}
     
    	}

  4. #4
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Tu recrées un nouveau BufferedReader à chaque appel, donc ta méthode est complètement paumée. Il faut qu'il y ait un suivi dans tes appels, que le reader soit le même au fur et à mesure que tu lui demandes d'intervenir. Imagine qu'on lise un livre en changeant de lecteur à chaque ligne ! Ça risque pas d'aller très loin...
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 86
    Points : 42
    Points
    42
    Par défaut
    Oui en effet !

    Donc en fait il faudrait que j'ai un seul buffered reader pour ma classe ! Je comprends mieux maintenant.

    Et ensuite, avec un \n on aura plusieurs entrées possibles ?

    Merci beaucoup !

Discussions similaires

  1. Saisir des données dans la console eclipse
    Par tiph02 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 14/02/2009, 09h39
  2. Simuler des colonnes dans un CComboBox
    Par specialka dans le forum MFC
    Réponses: 1
    Dernier message: 19/09/2008, 15h12
  3. Réponses: 5
    Dernier message: 07/06/2006, 12h11
  4. [log4J] affichage des log4J dans la console (texte bleu)
    Par lalie.perso dans le forum Logging
    Réponses: 1
    Dernier message: 13/04/2006, 13h52
  5. [TP7] Renvoyer des infos dans la console pour redirection
    Par Natopsi dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 05/11/2005, 18h21

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