L3 TP3 Valvassori Mo¨
L’objectif de ce premier TP est de (re)faire travailler les bases de la compilation Java.
1 Simpliste
Ces exercices sont repris de la s´
erie 1.
1.1 Pr´
eparation
1. Faire un r´
epertoire de travail
2. Pr´
eparer le travail sur un brouillon
(a) diagrammes UML
1.2 Java
1. ´
Ecrire un programme affichant la chaˆ
ıne (( Bonjour le monde ! ! !)).
2. ´
Ecrire un programme1affichant la factorielle de 1,2,3,4,5,10,20,50,100.
Ne pas oublier :
la Javadoc ;
le package
1.3 En Shell
1. compiler ;
2. ex´
ecuter ;
3. g´
en´
erer la javadoc ;
4. ex´
ecuter de n’importe quel r´
epertoire.
2 D´
eriveur
Dans cet exercice, nous allons r´
ealiser le (fameux) d´
eriveur.
1. Reprendre le d´
eriveur du partiel (voir ´
egalement la correction du diagramme UML).
2. Reprendre le squelette du d´
eriveur. Ce squelette est g´
en´
er´
e par un outil UML `
a partir du mod`
ele
propos´
e au partiel.
3. Compl´
eter le squelette :
(a) remplir les m´
ethodes ;
(b) corriger les bugs g´
en´
er´
es par l’outil ;
(c) faire la documentation (javadoc)
1Ce programme peut ˆ
etre qu’une m´
ethode dans le programme (( Bonjour le monde ! ! !)).
3 Tests Unitaires
Dans cet exercice, nous allons g´
en´
erer et ex´
ecuter automatiquement des jeux de tests.
Nous allons utiliser la biblioth`
eque http://www.junit.org/. Elle est install´
ee sur neon dans ce
fichier : /opt/netbeans-5.0/ide6/modules/ext/junit-3.8.1.jar
R´
ealiser un jeu de tests pour le d´
eriveur :
1. tester la construction des diff´
erentes expressions ;
2. tester la d´
eriv´
e des expressions. Ne pas oublier les cas limites.
3.1 Exemple
Dans cet exemple, nous allons tester si la d´
eriv´
e du nombre 1 vaut bien le nombre 0.
3.1.1 Faire un Test
Nous cr´
eons le jeu test proprement dit. Les tests sont des m´
ethodes dont le nom commence par (( test )).
Il peut y avoir plusieurs tests. La m´
ethode setUp est appel´
ee avant chaque test. La m´
ethode tearDown
est appel´
ee apr`
es chaque test.
1package l3.mime.java.partiel.deriveur.tests;
import junit.framework.TestCase
import l3.mime.java.partiel.deriveur.Nombre;
5public class TestNombre extends TestCase {
protected Nombre n;
protected Symbole d;
protected void setUp() {
10 n = new Nombre(1);
d = new Symbole("x");
}
public void testDerive() {
15 Nombre derive = n.deriver(d);
assertTrue(derive.equals(new Nombre(0)));
}
}
3.1.2 Construire une suite de tests
Un suite de tests est un ensemble de jeu de tests.
1package l3.mime.java.partiel.deriveur.tests;
import junit.framework.TestSuite;
import junit.framework.Test;
5public class DeriveurSuite extends TestSuite {
public static Test suite() {
TestSuite suite= new TestSuite();
2
suite.addTest(new TestNombre("test deriver nombre"));
return suite;
10 }
}
3.1.3 Ex´
ecution de la suite de test
La ligne de commande pour ex´
ecuter le test est :
java junit.textui.TestRunner l3.mime.java.partiel.deriveur.tests.TestSuite
Avec un interface graphique Swing :
java junit.swing.TestRunner l3.mime.java.partiel.deriveur.tests.TestSuite
framework
+assertTrue(parameter : String, parameter2 : boolean) : void
+assertFalse(parameter : String, parameter2 : boolean) : void
+fail(parameter : String) : void
+fail() : void
+assertEquals(parameter : String, parameter2 : double, parameter3 : double) : void
+assertNotNull(parameter : String, parameter2 : Object) : void
+assertNull(parameter : String, parameter2 : Object) : void
+assertSame(parameter : String, parameter2 : Object, parameter3 : Object) : void
+assertNotSame(parameter : String, parameter2 : Object, parameter3 : Object) : void
-failSame(parameter : String) : void
-failNotSame(parameter : String, parameter2 : Object, parameter3 : Object) : void
-failNotEquals(parameter : String, parameter2 : Object, parameter3 : Object) : void
Assert
+run(parameter : TestResult) : void
<<Interface>>
Test
+addTest(parameter : Test) : void
+addTestSuite(parameter : Class) : void
TestSuite
#setUp() : void
#tearDown() : void
TestCase
mesTests
+testQuelqueChose()
MonTest TousMesTests
FIG. 1: Synth`
ese des classes permettant de construire un jeu de tests.
3
junit
runner
+startTest(parameter : Test) : void
+getLoader() : TestSuiteLoader
BaseTestRunner
awtui
TestRunner
swingui
TestRunner
textui
TestRunner
framework
TestSuite
mesTests
+testQuelqueChose()
MonTest TousMesTests
startTest()
<<import>>
load
FIG. 2: Classes ex´
ecutant les jeu de tests.
4
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !