Test avec junit
polak1982
Messages postés
13
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour tout le monde,
Je souhaite effectuer un test junit avec les données contenues dans cette classe ShapeTest mais
je n'arrive pas à implémenter la méthode area ,
j'ai besoin de votre aide.
La méthode aera doit être implémentée dans la classe Shape puis un appel de cette methode dans la classe de test Shapetest permet de faire des jeux de tests
Je souhaite effectuer un test junit avec les données contenues dans cette classe ShapeTest mais
je n'arrive pas à implémenter la méthode area ,
j'ai besoin de votre aide.
public class Shape {
private int x ;
private int y ;
public Shape(int x, int y)
{
this.x = x ;
this.y = y ;
}
public Shape(StringWriter out) {
// TODO Auto-generated constructor stub
}
public int getX()
{
return x ;
}
public int getY()
{
return y ;
}
}
public class Rectangle extends Shape{
private int width ;
private int height ;
public Rectangle(int x, int y, int width, int height) {
super(x, y);
this.width = width;
this.height = height;
// TODO Auto-generated constructor stub
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public double getSurface( ) { return (width*height);}
public double getPerimetre( ) { return ((width + height)*2);}
public String toString( ) { return "Width = " + width + " Height = " + height; }
}
public class ShapesTest {
private StringWriter out;
private Shape shapes;
@Before
public void initWriter() {
out = new StringWriter();
shapes = new Shapes(out);
}
@Test
public void rectangle() throws IOException {
shapes.aera("RECTANGLE", "50,20");
assertEquals("1000\n", out.toString());
}
}
La méthode aera doit être implémentée dans la classe Shape puis un appel de cette methode dans la classe de test Shapetest permet de faire des jeux de tests
A voir également:
- Test avec junit
- Test performance pc - Guide
- Test steam deck oled - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test composant pc - Guide
- Test batterie pc - Guide
1 réponse
"je n'arrive pas à implémenter la méthode area"
Et qu'est-elle censée faire ? La méthode getSurface calcule déjà l'aire du rectangle...
Et qu'est-elle censée faire ? La méthode getSurface calcule déjà l'aire du rectangle...
import org.junit.Assert;
import org.junit.Test;
public class RectangleTest
{
@Test
public void testSurface()
{
Rectangle rect = new Rectangle(0, 0, 50, 20);
Assert.assertEquals(1000, rect.getSurface(), Math.ulp(1000.0));
}
}La confiance n'exclut pas le contrôle
Mais en fait j'ai des érreurs sur cette classe:
Merci par avance, le test junit est KO
Remarque : ta méthode generate devrait être static car elle ne dépend d'aucun attribut, ensuite son nom est très mal choisi, il ne permet pas de savoir ce qu'elle fait, en l'occurrence un test de primalité. Attention : 1 n'est pas censé être un nombre premier !
Autre remarque : par convention une méthode de test JUnit commence par "test".
@Test public void testGenerate() { //assertEquals(false, Factors.generate(1)); assertEquals(true, Factors.generate(2)); assertEquals(true, Factors.generate(3)); assertEquals(false, Factors.generate(4)); assertEquals(true, Factors.generate(5)); assertEquals(true, Factors.generate(1789)); }