34 votes

Impossible d'exécuter le scénario de test JUnit 4 dans le projet Android Eclipse

Je suis nouveau sur Java et j'essaie d'exécuter un test unitaire sur une classe que j'écris. Eclipse (3.5) a créé la classe de test unitaire pour moi et ajouté Junit4 à mon chemin de classe.

Ma classe:

 public class DistanceUtil 
{

public static double metersToMiles( double meters ) 
{
    return 0;
}
public static double metersToKilometers( double meters ) 
{
    return 0;
}

}
 

Mon test unitaire:

 public class DistanceUtilTest {

@Test
public final void testMetersToMiles() {
    fail("Not yet implemented"); // TODO
}

@Test
public final void testMetersToKilometers() {
    fail("Not yet implemented"); // TODO
}

}
 

Lorsque je clique avec le bouton droit de la souris sur le test unitaire et que je sélectionne Exécuter en tant que Junit Test, j’obtiens ce qui suit:

 #
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (classFileParser.cpp:3075), pid=5564, tid=4940
#  Error: ShouldNotReachHere()
#
# JRE version: 6.0_17-b04
# Java VM: Java HotSpot(TM) Client VM (14.3-b01 mixed mode windows-x86 )
# An error report file with more information is saved as:
# C:\Users\Giles Roadnight\workspaceAndroid\Cycloid\hs_err_pid5564.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
 

Quelqu'un a une idée de comment je peux résoudre ce problème?

Merci

54voto

Alex Spurling Points 6086

Après avoir cherché sur Google pour une réponse, cela ressemble à cela pourrait avoir quelque chose à voir avec Android outils de développement.

Ci-dessous sont les mesures prises à partir de ce commentaire thread:

  1. Clic droit sur le projet -> exécuter -> configuration d'exécution
  2. Sélectionnez votre projet Junit
  3. Allez à l'onglet classpath
  4. supprimer la Android cadre de l'entrée
  5. sélectionnez bootstrap entrées
  6. cliquez sur avancé
  7. sélectionnez Ajouter une Bibliothèque
  8. Ok
  9. A choisi "JRE System Library"
  10. Prochaine
  11. finition
  12. Vous devez également ajouter la librairie JUnit alors suivez les étapes 5 à 11 et sélectionnez l'option "Junit" au lieu de "JRE System Library"
  13. Vous pouvez maintenant exécuter votre projet avec Junit.

1voto

Torben Points 1351

Depuis Alex Spurling, les instructions ne sont plus valides pour Eclipse Juno et le dernier SDK Android, il peut être utile de donner une autre alternative:

  1. La création d'un ordinaire Java projet de bibliothèque qui contient tout le code qui n'a pas de dépendances à la plate-forme Android.
  2. Écrire des tests JUnit normalement.
  3. Inclure ce projet dans votre projet Android comme une bibliothèque de référence.
  4. Utilisation SLF4J ou de haut niveau de la bibliothèque pour la journalisation.

C'est un peu compliqué sur de petits projets, mais otoh, que cela les aide à faire respecter la modularité et de l'interface de la ségrégation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X