OVH Cloud OVH Cloud

multificiher

14 réponses
Avatar
R12y
Bonjour,

Je souhaite présenter un devoir à rendre en Java en mettant en avant le
fait que j'ai fait une programmation dirigée par les tests.

Il faudrait que les tests soient dans un fichier séparé (en fait dans un
réperoire séparé même).
Par exemple:

$HOME/
src/
Pair.java
tests/
Tests.java


Supposons que dans Pair.java il y ait une fonction:

public static int generatePairNumber(void)
{
...
}

Il faudrait que dans Tests.java je puisse solliciter cette fonction, mais
je ne sais pas comment faire.
Bon. Je n'ai qu'un semestre de Java à mon actif, et avec les évènements
récents, pas beaucoup d'heures de pratique.
Merci de votre aide.

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum

10 réponses

1 2
Avatar
fd

Supposons que dans Pair.java il y ait une fonction:

public static int generatePairNumber(void)
{
...
}

Il faudrait que dans Tests.java je puisse solliciter cette fonction, mais
je ne sais pas comment faire.
Bon. Je n'ai qu'un semestre de Java à mon actif, et avec les évènements
récents, pas beaucoup d'heures de pratique.
Merci de votre aide.



System.out.println("Test de Pair.generatePairNumber: "+new
Pair().generatePairNumber()); Pour "caster" un int en string il te
suffit de le concatener à une chaine, meme vide: println(""+2); pour
afficher 2

Avatar
fd

Supposons que dans Pair.java il y ait une fonction:

public static int generatePairNumber(void)
{
...
}

Il faudrait que dans Tests.java je puisse solliciter cette fonction, mais
je ne sais pas comment faire.
Bon. Je n'ai qu'un semestre de Java à mon actif, et avec les évènements
récents, pas beaucoup d'heures de pratique.
Merci de votre aide.



System.out.println("Test de Pair.generatePairNumber: "+new
Pair().generatePairNumber()); Pour "caster" un int en string il te
suffit de le concatener à une chaine, meme vide: println(""+2); pour
afficher 2


J'ai oublié ton pb d'architecture, le mieux pour toi est d'utiliser deux
packages differents correspondant à l'architecture de ton projet du
genre: fr.tonnom.prog et fr.tonnom.tests
les fichiers java seront donc dans des dossiers prog et tests eux meme
dans tonnom qui est dans fr ... un peu laborieux comme explication
je te conseille penserenjava.free.fr


Avatar
Ploc
fd wrote:

Supposons que dans Pair.java il y ait une fonction:

public static int generatePairNumber(void)
{
...
}

Il faudrait que dans Tests.java je puisse solliciter cette fonction, mais
je ne sais pas comment faire.
Bon. Je n'ai qu'un semestre de Java à mon actif, et avec les évènements
récents, pas beaucoup d'heures de pratique.
Merci de votre aide.



System.out.println("Test de Pair.generatePairNumber: "+new
Pair().generatePairNumber()); Pour "caster" un int en string il te
suffit de le concatener à une chaine, meme vide: println(""+2); pour
afficher 2



NON!
generatePairNumber est static, donc, il suffit de faire qq chose comme
ca dans Test (peu importe où) :
int nbpaires=Pair.generatePairNumber();


Avatar
Ploc
R12y wrote:
Bonjour,

Je souhaite présenter un devoir à rendre en Java en mettant en avant le
fait que j'ai fait une programmation dirigée par les tests.

Il faudrait que les tests soient dans un fichier séparé (en fait dans un
réperoire séparé même).
Par exemple:

$HOME/
src/
Pair.java
tests/
Tests.java


Supposons que dans Pair.java il y ait une fonction:

public static int generatePairNumber(void)
{
...
}

Il faudrait que dans Tests.java je puisse solliciter cette fonction, mais
je ne sais pas comment faire.
Bon. Je n'ai qu'un semestre de Java à mon actif, et avec les évènements
récents, pas beaucoup d'heures de pratique.
Merci de votre aide.


Pour tes tests, tu rajoutes $HOME/src et $HOME/tests dans la variable
CLASSPATH.
Bon a priori, tu es sous linux, donc
export CLASSPATH=$CLASSPATH:$HOME/src:$HOME/tests
apres a partir de tests, tu peux compiler tes tests qui trouverone Pair
dans le classpath.
Enfin, pour acceder a la fonction static (ou methode de classe), il
suffit de l'appeler par le nom de classe suivi de la fonction:
Pair.generatePairNumber();

Voila, c'est tout je pense.

Avatar
fd
R12y wrote:
Bonjour,

Je souhaite présenter un devoir à rendre en Java en mettant en avant le
fait que j'ai fait une programmation dirigée par les tests.

Il faudrait que les tests soient dans un fichier séparé (en fait dans un
réperoire séparé même).
Par exemple:

$HOME/
src/
Pair.java
tests/
Tests.java


Supposons que dans Pair.java il y ait une fonction:

public static int generatePairNumber(void)
{
...
}

Il faudrait que dans Tests.java je puisse solliciter cette fonction, mais
je ne sais pas comment faire.
Bon. Je n'ai qu'un semestre de Java à mon actif, et avec les évènements
récents, pas beaucoup d'heures de pratique.
Merci de votre aide.


Pour tes tests, tu rajoutes $HOME/src et $HOME/tests dans la variable
CLASSPATH.
Bon a priori, tu es sous linux, donc
export CLASSPATH=$CLASSPATH:$HOME/src:$HOME/tests
apres a partir de tests, tu peux compiler tes tests qui trouverone Pair
dans le classpath.
Enfin, pour acceder a la fonction static (ou methode de classe), il
suffit de l'appeler par le nom de classe suivi de la fonction:
Pair.generatePairNumber();

Voila, c'est tout je pense.
oups ça m'apprendra a répondre alors que j'ai pas encore bu mon café

on ne m'y reprendra plus ;)


Avatar
R12y
On Thu, 23 Mar 2006 10:23:02 +0100, Ploc wrote:

$HOME/
src/
Pair.java
tests/
Tests.java

Supposons que dans Pair.java il y ait une fonction:

public static int generatePairNumber(void)
{
...
}

Il faudrait que dans Tests.java je puisse solliciter cette fonction, mais
je ne sais pas comment faire.


Pour tes tests, tu rajoutes $HOME/src et $HOME/tests dans la variable
CLASSPATH.
Bon a priori, tu es sous linux, donc
export CLASSPATH=$CLASSPATH:$HOME/src:$HOME/tests
apres a partir de tests, tu peux compiler tes tests qui trouverone Pair
dans le classpath.
Enfin, pour acceder a la fonction static (ou methode de classe), il
suffit de l'appeler par le nom de classe suivi de la fonction:
Pair.generatePairNumber();


Ok pour ça. Le seul souci c'est que si je veux que des copains compilent
la même chose, ils doivent aussi faire la manip.

Le but c'est de pouvoir y aller au Makefile si on veut le compiler sur
plsuieurs machines.

Je vais donc en fait mettre un Makefile avec une cible "test" de manière à
juste faire un "make test" pour lancer les test unitaires.

La solution que j'ai eu sur comp.lang.java.programmer est de faire:

package src;

en début de fichier et puis de faire ensuite

import src.Pair;

ça permet de compiler/tester sur plusieurs machines, pour peu qu'elles
comprennent ce qu'est un Makefile.
Qu'est ce que vous en pensez?

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum


Avatar
Ploc
R12y wrote:
On Thu, 23 Mar 2006 10:23:02 +0100, Ploc wrote:

Ok pour ça. Le seul souci c'est que si je veux que des copains compilent
la même chose, ils doivent aussi faire la manip.

Le but c'est de pouvoir y aller au Makefile si on veut le compiler sur
plsuieurs machines.

Je vais donc en fait mettre un Makefile avec une cible "test" de manière à
juste faire un "make test" pour lancer les test unitaires.

La solution que j'ai eu sur comp.lang.java.programmer est de faire:

package src;

en début de fichier et puis de faire ensuite

import src.Pair;

ça permet de compiler/tester sur plusieurs machines, pour peu qu'elles
comprennent ce qu'est un Makefile.
Qu'est ce que vous en pensez?



Oui, on peut faire un package src et un package tests (voire src.tests).
Du coup, il suffit de mettre la racine dans le classpath.

Independamment de ca, une solution assez courante est de fournir un
script pour lancer et parfois pour compiler, le tout en .sh et .bat pour
la "portabilite". L'avantage est qu'on n'a pas besoin de make, tout en
positionnant les variables d'environnement sur les bonnes valeurs.
Apres, on peut quand meme utiliser make, mais vu la simplicite des
choses a faire, c'est un peu sortir l'artillerie lourde ...

Avatar
alexandre cartapanis
Bonjour,

Je souhaite présenter un devoir à rendre en Java en mettant en avan t le
fait que j'ai fait une programmation dirigée par les tests.

Il faudrait que les tests soient dans un fichier séparé (en fait da ns un
réperoire séparé même).
Par exemple:

$HOME/
src/
Pair.java
tests/
Tests.java


Supposons que dans Pair.java il y ait une fonction:

public static int generatePairNumber(void)
{
...
}

Il faudrait que dans Tests.java je puisse solliciter cette fonction, ma is
je ne sais pas comment faire.
Bon. Je n'ai qu'un semestre de Java à mon actif, et avec les évèn ements
récents, pas beaucoup d'heures de pratique.
Merci de votre aide.



Faire du développement orienté test ne s'improvise pas, surtout en ja va.
Un petit conseil, utilise un framework adapté. Je te conseille JUnit qu i
est très utilisé (et donc tu pourras le mettre sur ton CV :)) et ré puté
parfaitement mature. Tu va gagner un temps énorme.

Deuxième chose, le développement orienté test a été "théorisé ", dans une
méthodologie nommée eXtreme Programming, ou XP (entre autre). Cherche
aussi de ce coté la...

--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kraëmer 13014 Marseille France
Tél. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email

Avatar
R12y
On Thu, 23 Mar 2006 13:50:03 +0100, alexandre cartapanis wrote:
Faire du développement orienté test ne s'improvise pas, surtout en java.


Oui, mais de toutes façons, il faut apprendre avec des cas simples.
Je ne souhaite pas commencer tout en étant assisté par des assistants en
tout genre.

Un petit conseil, utilise un framework adapté. Je te conseille JUnit qui
est très utilisé (et donc tu pourras le mettre sur ton CV :)) et réputé
parfaitement mature. Tu va gagner un temps énorme.


Le temps passé à apprendre n'est pas toujours perdu.

Deuxième chose, le développement orienté test a été "théorisé", dans une
méthodologie nommée eXtreme Programming, ou XP (entre autre). Cherche
aussi de ce coté la...


C'est exactement ça. Mais comme je m'annonçait comme "débutant", je ne
voulais pas "me la péter" avec des termes techniques. Le but est vraiment
de voir les choses au niveau élémentaire:
- import de fichiers
- Makefile basique
- test unitaires très basiques aussi

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum

Avatar
jlp
"R12y" a écrit dans le message
de news:
On Thu, 23 Mar 2006 13:50:03 +0100, alexandre cartapanis wrote:
Faire du développement orienté test ne s'improvise pas, surtout en java.


Oui, mais de toutes façons, il faut apprendre avec des cas simples.
Je ne souhaite pas commencer tout en étant assisté par des assistants en
tout genre.

Un petit conseil, utilise un framework adapté. Je te conseille JUnit qui
est très utilisé (et donc tu pourras le mettre sur ton CV :)) et réputé
parfaitement mature. Tu va gagner un temps énorme.


Le temps passé à apprendre n'est pas toujours perdu.

Deuxième chose, le développement orienté test a été "théorisé", dans une
méthodologie nommée eXtreme Programming, ou XP (entre autre). Cherche
aussi de ce coté la...


C'est exactement ça. Mais comme je m'annonçait comme "débutant", je ne
voulais pas "me la péter" avec des termes techniques. Le but est vraiment
de voir les choses au niveau élémentaire:
- import de fichiers
- Makefile basique
- test unitaires très basiques aussi

--
Debian/apt Repo:
http://locataire-serveur.info/sections/liens/debian-repository

Fedora/yum Repo:
http://locataire-serveur.info/sections/liens/fedora-core-yum


+1 par rapport à la réponse d'Alexandre, regarde JUnit avant de te lancer

sur autre chose ...


1 2