Eclipse: activer les assertions


97

J'utilise Eclipse Galileo. Comment activer les assertions dans Eclipse?

Comme suggéré par d' autres sites, je l' ai essayé d' ajouter les arguments: -ea. J'ai également essayé de changer le niveau de conformité du compilateur en 1.4. Aucune de ces suggestions n'a fonctionné.

Réponses:


164
  1. Accédez au menu Run , puis à l' élément de menu Run Configurations .

entrez la description de l'image ici

  1. Dans le panneau de gauche , accédez à Java Application, puis accédez à Assertions.

  2. Dans le panneau de droite , choisissez l' onglet Arguments .

  3. Sous le champ pour VM arguments, saisissez -eapour activer les assertions.

entrez la description de l'image ici

  1. Cliquez sur le boutonApply puis .Run

Pour le définir globalement comme valeur par défaut pour tout :

  1. Allez au menu Window(si vous êtes sous Windows), ou allez au menu Eclipse(si vous êtes sur Mac). Pour Linux, cela pourrait être quelque chose de similaire.

  2. Allez à Preferences.

  3. Choisissez Java, puis Installed JREsdans le panneau de gauche .

  4. Sélectionnez votre JRE , puis cliquez sur le Edit...bouton dans le panneau de droite .

  5. Sur le Default VM argumentsterrain, ajoutez -ea.


Cela ne fonctionne pas pour Android, vous avez apparemment besoin de JUnit Assert.
Noumenon

42
Pour le définir globalement comme valeur par défaut pour tout, accédez à Fenêtre -> Préférences -> Java / JRE installés. Sélectionnez le JRE et cliquez sur "Modifier ...". Dans le champ "Arguments VM par défaut", ajoutez "-ea".
Silveri

@nbro Je n'ai pas d' Assertionsarticle sous Java Application. Peut-être que vous parliez de la configuration d'exécution actuelle?
John McClane

@JohnMcClane Il est possible que différentes versions d'Eclipse aient différents panneaux, boutons et menus. Si j'ai spécifiquement ajouté cette instruction (mais c'était il y a longtemps), il est probable que je l'ai essayée sur ma propre version (comme vous pouvez également le remarquer sur les photos, j'utilise un mac, donc c'est possible que les versions d'Eclipse sont légèrement différentes sur d'autres systèmes).
nbro

1
@JohnMcClane Oui, je pense que vous avez raison. Il est possible que ce soit des noms de projets. Plutôt que d'aller dans "Assertions", vous devriez aller au nom de votre projet (je suppose).
nbro

36

Si vous souhaitez résoudre ce problème globalement pour tous les tests JUnit, accédez à Preferences > Java > JUnitet en haut, cliquez sur la case à cocher " Ajouter 'ea' aux arguments de la VM lors de la création d'une nouvelle configuration de lancement JUnit " Maintenant, Eclipse ne vous dérangera pas pour chaque nouveau test que vous veux courir. Pour les tests existants, vous devez supprimer leurs configurations d'exécution dans Run Configuration > JUnit.


5
Existe-t-il un moyen d'ajouter -ea à toutes les configurations de lancement JUnit existantes ?
mxro

Pour être ajouté -ea aux tests existants, vous devez supprimer les configurations d'exécution dans Configuration d'
Honza

11

Pour ce faire globalement pour toutes les exécutions Java, modifiez les propriétés des JRE installés.

Par exemple: Windows -> Préférences -> mettez en surbrillance le JRE par défaut -> cliquez sur Modifier ... -> Dans la zone de saisie Arguments VM par défaut, entrez -ea -> cliquez sur le bouton Terminer.

Cela a fonctionné sur Eclipse Kepler SR2.


5

Sur les projets maven , vous pouvez exécuter la méthode main avec le chemin de classe auto-magic en:

bash> export MAVEN_OPTS="-ea" && mvn exec:java -Dexec.mainClass="com.your.class.with.main"
cmd> set MAVEN_OPTS="-ea" && mvn exec:java -Dexec.mainClass="com.your.class.with.main"

Dans linux / eclipse, vous pouvez ajouter une fenêtre de terminal avec bash pour une utilisation plus pratique.


4

Vous souhaitez activer les assertions pour une application que vous exécutez à partir d'Eclipse? J'ajoute généralement juste -ea aux paramètres de ligne de commande dans le profil "Exécuter en tant que".


1
Ouais, c'est comme ça que je le fais habituellement aussi lorsque je cours depuis la ligne de commande, c'est pourquoi je pensais que l'ajout de ces arguments VM dans les préférences fonctionnerait. Merci pour la contribution. En confirme que je n'étais pas fou de penser que cela devrait le faire ..
enfin en fait le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.