9
votes

Comment configurer Intellij pour le test de course avec Junit 4?

devrait être simple mais je ne pouvais pas le comprendre.

Lors de l'exécution de mon test de l'unité à l'intérieur Intellij, je n'ai pas trouvé de moyen de dire à Intellij-9.0 qu'il soit utiliser Junit4 au lieu de Junit3 . .

Lorsqu'un test échoue, Intellij Console affiche:

myTestS.tesconstraints (myTestS.groovy: 20) à

...

com.intellij. junit3.junit3ideattrucnner .dorun (junit3ideattrucnner.java:108) à COM.Intellij ...

Savez-vous comment remplacer Junit3 par Junit4?


0 commentaires

7 Réponses :


0
votes

Mettez le Jar Junit 4 dans votre classe de classe et voyez si Intellij le ramasse.

Le plug-in Junit semble exécuter soit la version 3 ou 4.

Je parierai que cela a à voir avec la façon dont vous écrivez vos tests junit. Poster un pour confirmer. Si vous utilisez le style Junit 4, je parie que Intellij le dirigerait correctement.


2 commentaires

J'utilise une demande de graps et c'est dans la classe Grails ($ Grails_home / lib / junit-4.8.1.jar). Ou peut-être, vous voulez dire Intellij ClassPath? Si oui, dans quel dossier devrais-je mettre le jar Junit4? (Running Intellij sur Windows à D: / Install / Intellij)


FYI, deux pots Junit sont dans / Lib: Junit.jar et Junit-4.7.jar. Supprimer Junit.jar ne change rien: com.intellij.junit3junit3ideatestrunner.dorun est toujours appelé!



9
votes

Je l'ai trouvé!

  1. Aller aux configurations d'exécution / débogage
  2. ajoutez une nouvelle configuration et choisissez un JUNIT
  3. Dans l'onglet Configuration, ajoutez "-Junit4" au champ de saisie des paramètres de test

    Et c'est fait!


1 commentaires

10.5 ne semble plus avoir un champ de saisie "Paramètres de test".



0
votes

'com.intellij.junit3' le forfait appartient aux fichiers binaires d'idées, non à Junit3 ou Junit4. Donc, la question elle-même semble être incorrecte dans l'essence - il n'y a pas de différence dans quel nom de paquet est utilisé par l'IDEA CodeBase en interne s'il exécute correctement les tests.


1 commentaires

Vrai et faux. Le package COM.Intellij.junit3 appartient à des fichiers binaires d'idées, mais c'est la bibliothèque utilisée pour exécuter Junit Test. Cela signifie donc que si vous utilisez certaines fonctionnalités de Junit 4 (comme @Test Annotations), il ne fonctionnera pas correctement. Essayez-vous vous-même. En outre, la question est absolument correcte. Il est question de savoir sur "Comment configurer Intellij pour avoir exécuté Junit 4 tests" et non quel est le package junit à utiliser !!



0
votes

On dirait que le vrai problème peut être que vous essayez d'utiliser Junit 4 avec une version de Grails inférieure à 1,3. Grails 1.2.x et ne supportent que les tests Junit 3. Grails 1.3 aura enfin un soutien Junit 4. Ceci a été discuté sur Stackoverflow LINK Texte


1 commentaires

Cela aurait pu être que, mais j'utilise Grails-1.3-RC2.



9
votes

Vous pouvez annoter votre classe de test avec une annotation pour indiquer Junit le coureur, il utilisera

@RunWith(JUnit4.class) MyTestClass {} 


2 commentaires

Cela a résolu le problème pour moi à l'aide d'Intellij Ised 10. Il semble que l'idée par défaut l'utilisation de Junit3 en tant que coureur de test pour toutes les classes qui ont Junit.Framework.ESCASCASE dans la hiérarchie (qui est le cas pour GrevSunitTestCase). Utilisation d'une idée des forces @Runwith à Junit4. ... Je préférerais une solution qui n'a pas été nécessaire de modifier chaque classe de test si ...


Au fait, si vous avez JUNIT.FRAMEWORK.ESCASE dans la hiérarchie, cela signifie que ce test est destiné à être exécuté avec JUNIT 3, ou certaines choses telles que la configuration et les méthodes de démolition ne pouvaient pas fonctionner comme prévu.



0
votes

J'ai eu le même problème avec une application Java à l'intérieur 10.5, et il s'est avéré être mon niveau de langue du projet défini sur 5.0 par opposition à 8,0.

Pour changer cela, allez à Fichier-> Structure du projet-> Projet-> Niveau de langage du projet

et changer ceci au niveau requis. Je ne sais pas à quel niveau vous pouvez utiliser Junit4, mais le réglage de cela sur 5.0 le fera utiliser Junit3. Le réglage sur 8.0 facilite l'utilisation JUNIT4


0 commentaires

2
votes

J'ai essayé de mettre: xxx

au début d'un test. Intellij se plaigna de cela, mais a demandé à "charger" junit4.class. Donc j'ai supprimé @Runwith (junit4.class) . Mais le «chargement» semble avoir corrigé le problème - @ignore est maintenant respecté!


0 commentaires