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

Langage Java Discussion :

Classe test sur un objet


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Classe test sur un objet
    Bonjour à tout le monde,

    je suis nouveau sur ce forum et je rencontre actuellement des soucis avec mon code Java (Je débute tout juste en Java).

    Je souhaite tester ma classe ou je construit mon objet mais je n'arrive a voir comment tester cet objet. Voici ma classe ou je crée l'objet :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public class Joueur implements Serializable {
     
    	private int couleur;
    	private String name;
     
    	public int getCouleur() {
    		return this.couleur;
    	}
     
    	public String getName() {
    		return name;
    	}
     
    	public void setName(String name) {
    		this.name = name;
    	}
     
    	public Joueur(int couleur) {
    		this.couleur = couleur;
    	}
     
    	public Joueur(int couleur, String name) {
    		this.couleur = couleur;
    		this.name = name;
    	}
    }
    Et voici la classe de test que je viens de créer mais je ne sais pas si je test l'objet en fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class TestJoueur {
    	static boolean res;
     
    	public static void main (String [] args) {
    		Joueur test = new Joueur(1);
     
    		if (test != null) res  = true;
    		else res = false;
     
    		System.out.print(res);
    		}
    	}
    Merci de votre aide.
    Yohan

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    test ne pourra jamais être null avec votre code, donc ce test ne teste rien.

    Quand à l'écriture de test, il existe des frameworks spécialisés comme testNG et JUnit, relativement faciles à mettre en oeuvre.

    http://spalud.developpez.com/tutoriel/java/testng/
    http://gfx.developpez.com/tutoriel/java/junit/
    http://jmdoudoux.developpez.com/cour...chap-junit.php

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci de votre aide. je vais lire les liens que vous me proposez.
    Cependant, ce que je souhaite réaliser, c'est de créer l'objet Joueur et ensuite de le cloner pour apres tester que la création d'un objet joueur fonctionne. tout cela avec un boolean qui me retourne true ou false.
    Merci.

    Yohan

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ben alors vous faites votre new, vous appelez et testez les méthodes que vous voulez dessus, et quand une "foire" vous retournez false :/

    Pour cloner l'objet, il vous faudra implémenter Cloneable et surcharger sa méthode clone()

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci de votre aide voici ce que j'ai fait mais cela me retourne false.

    Dans la classe joueur :

    Dans la classe testjoueur, j'ai rajouté cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public Joueur cloner(){
    		Joueur res = new Joueur(getCouleur());
    		res.couleur = this.couleur;
    		return res;
    	}
    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
    17
    18
    public class TestJoueur {
     
    	public boolean TestCloner(){
    		boolean res = true;
    		Joueur test = new Joueur(0);
     
    		Joueur test2 = test.cloner();
    		res = test.equals(test2);
    		return res;
    	}
     
    	public static void main (String [] args) {
    		boolean ok = true;
    		TestJoueur test = new TestJoueur();
    		ok = ok && test.TestCloner();
    		if (!ok) System.out.println("Erreur dans testclone");
    		}
    	}
    En fait mon but est de créer l'objet joueur et de tester qu'il est bien créé.
    Merci de votre aide.
    Yohan

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par yoh42 Voir le message
    En fait mon but est de créer l'objet joueur et de tester qu'il est bien créé.
    S'il n'était pas créé, il y aurait une Exception. Autrement dit, si tu ne vois pas de message t'indiquant que quelque chose s'est mal passé (autrement dit s'il n'y a pas d'Exception,) alors l'objet est bien créé.

    C'est franchement pas quelque chose qui a besoin d'être testé. Tu fais new Joueur(), l'ordinateur te crée un Joueur. Il n'aurait pas beaucoup de raisons de ne pas le faire. À la limite s'il manquait de mémoire pile pour faire ça, mais soyons sérieux deux minutes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ce qui est cohérent, c'est de tester que "cloner" renvoie bien un Joueur. Après tout, vu de l'extérieur, vous ne savez pas ce que fait cette méthode exactement et vous voulez (principe des tests unitaires) vérifier que cette méthode se comporte comme attendu (elle retourne un joueur et il a la même couleur)
    C'est grosso modo ce que votre méthode testCloner fait et c'est bien.

    Ce qui était incohérent au début, c'est de tester que new Joueur() renvoie un non null. Ca vous ête certains que c'est vrai de part les règle du language. Et quand on teste un application, on test nos méthode, pas les framework ou le language qu'on utilise, il est supposé déjà testé et fonctionnel

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci de votre réponse. J'avance un petit peu.

    Cependant, j'aimerais savoir comment je pourrais tester la méthode TestCloner ?

    Merci de votre aide

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    En fait j'ai un programme a réaliser et je dois tester mes classes. Seulement je pense pas que cette classe a vraiment besoin d'être testé.
    Merci pour tout.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Test sur la classe d'un widget
    Par cypher.sephiroth dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 02/11/2009, 12h10
  2. Réponses: 6
    Dernier message: 16/04/2008, 13h51
  3. Test sur un objet
    Par Roland_F dans le forum Ruby on Rails
    Réponses: 7
    Dernier message: 28/10/2007, 15h36
  4. Réponses: 6
    Dernier message: 21/05/2006, 20h37
  5. Aide sur POO :: Classe et liste d'objet
    Par Andry dans le forum Langage
    Réponses: 1
    Dernier message: 23/01/2006, 15h51

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