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

Eclipse Java Discussion :

JUnit ne fonctionne pas


Sujet :

Eclipse Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2013
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 10
    Par défaut JUnit ne fonctionne pas
    Bonjour,

    J'ai créé une "test suite" de JUnit pour examiner une méthode de multiplication d'une classe car j'ai commencé à apprendre JUnit.
    Le problème est que, au moment où je veux démarrer le test unitaire, il me donne une faute étrange:
    java.lang.Exception: no runnable methods.
    Voici ma test suite:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    import multiplication.*;
     
    import static org.junit.Assert.assertEquals;
     
    import org.junit.AfterClass;
    import org.junit.BeforeClass;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.junit.runners.Suite;
    import org.junit.runners.Suite.SuiteClasses;
     
    @RunWith(Suite.class)
    @SuiteClasses({MyClass.class})
     
     
    public class MyTester {
     
     
    	@BeforeClass
    	  public static void testSetup() {
    	  }
     
    	  @AfterClass
    	  public static void testCleanup() {
    	    // Teardown for data used by the unit tests
    	  }
     
    	  @Test(expected = IllegalArgumentException.class)
    	  public void testExceptionIsThrown() {
    	    MyClass totest = new MyClass();
    	    totest.multiply(1000, 5);
    	  }
     
    	  @Test
    	  public void testMultiply() {
    	    MyClass totest = new MyClass();
    	    assertEquals("10 x 5 must be 50", 50, totest.multiply(10, 5));
    	  }
     
    }
    Je donne aussi la classe que je veux tester et la hiérarchie comme screenshot ci-dessous.

    Merci d'avance pour vos idées / solutions.
    Images attachées Images attachées  

  2. #2
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    C'est parce que tu n'indiques pas une classe de test dans ta Suite.
    En fait, il te faudrait créer une classe à part:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import org.junit.runner.RunWith;
    import org.junit.runners.Suite;
    import org.junit.runners.Suite.SuiteClasses;
     
    @RunWith(Suite.class)
    @SuiteClasses({MyTester.class })
    public class AllTests {
     
    }
    Et du coup, mettre à jour ta classe MyTester:
    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
    27
    28
    29
    30
    import static org.junit.Assert.assertEquals;
    import multiplication.MyClass;
     
    import org.junit.AfterClass;
    import org.junit.BeforeClass;
    import org.junit.Test;
     
    public class MyTester {
     
      @AfterClass
      public static void testCleanup() {
        // Teardown for data used by the unit tests
      }
     
      @BeforeClass
      public static void testSetup() {
      }
     
      @Test(expected = IllegalArgumentException.class)
      public void testExceptionIsThrown() {
        final MyClass totest = new MyClass();
        totest.multiply(1000, 5);
      }
     
      @Test
      public void testMultiply() {
        final MyClass totest = new MyClass();
        assertEquals("10 x 5 must be 50", 50, totest.multiply(10, 5));
      }
    }
    Voilà, à+
    Gueritarish

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/12/2010, 09h55
  2. Réponses: 6
    Dernier message: 27/01/2004, 11h14
  3. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04
  4. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 16h48
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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