Mon test Java a bien fonctionné avec Eclipse. Mais maintenant, lorsque je relance le test à partir du menu d'exécution, j'obtiens le message suivant:
No tests found with test runner 'JUnit 4'
Dans le .classpath
fichier, j'ai tous les jar
fichiers, et à la fin j'ai:
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Comment puis-je résoudre cette erreur et relancer les tests?
Réponses:
cela m'est juste arrivé. La reconstruction ou le redémarrage d'Eclipse n'a pas aidé.
Je l'ai résolu en renommant l'une des méthodes de test pour commencer par "test ..." (style JUnit3), puis tous les tests sont trouvés. Je l'ai renommé à ce qu'il était auparavant, et cela fonctionne toujours.
la source
testQuotes
à d'autres méthodes qui ne commencent pas par un test mais j'obtiens toujours une erreur Aucun test trouvéjunit.framework.TestCase
, et mes méthodes devaient commencer par "test". Plutôt que d'étendreTestCase
, j'ai ajouté un import:,import static org.junit.Assert.*;
et je peux nommer mes méthodes comme je le souhaite. Bizarre ...Lorsque nous obtenons ces erreurs, il semble qu'Eclipse soit simplement confus. Redémarrez Eclipse, actualisez le projet, nettoyez-le, laissez Eclipse le reconstruire et réessayez. La plupart du temps, cela fonctionne comme un charme.
la source
Dans le menu contextuel de votre répertoire 'test', choisissez 'Build path' -> 'Use as a source folder'. Eclipse devrait voir vos fichiers unitTests.java en tant que fichiers source. Avertissement 'Aucun test JUnit trouvé' se produit car il n'y a pas de fichiers unitTests.class dans votre répertoire 'build'
la source
Vérifiez si votre classe de test étend "TestCase". si tel est le cas, supprimez cette clause. Votre classe n'a pas besoin de s'étendre à partir de la classe "TestCase". C'est la plupart des cas que j'ai rencontrés.
Suivre TestCase devrait être bien.
la source
J'étais confronté au même problème et je l'ai débogué sur de mauvais exemples sur le Web et sur les composants internes de junit. Fondamentalement, ne faites pas étendre votre classe TestCase comme le montrent certains exemples pour Junit 4.x. Utilisez une convention de dénomination Test ou si vous souhaitez avoir une annotation, vous pouvez utiliser @RunWith (JUnit4.class).
Si vous avez besoin d'accéder aux méthodes d'assert, étendez Assert ou utilisez des importations statiques.
Si votre classe étend TestCase, même si vous utilisez Junit 4 Runner, elle sera exécutée en tant que 3. C'est parce que dans le code d'initialisation il y a une détection:
Voir JUnit3Builder et les lignes:
Cela renvoie true et le test de compatibilité junit4 ne sera pas essayé.
la source
@RunWith(JUnit4)
et étendu de "GroovyTestCase". Sans@RunWith(JUnit4)
moi, je suis confronté aux mêmes problèmes.Essayez d'ajouter
@Test au-dessus de la méthode pour le test comme ceci
la source
Encore une autre solution possible que je vais jeter dans le ring: je n'ai pas pu exécuter la classe de test ni à partir de la fenêtre de l'éditeur, ni de l'Explorateur de packages, mais en cliquant avec le bouton droit sur le nom de la classe dans la vue Outline et en sélectionnant Exécuter en tant que JUnit Le test a fonctionné ... Allez comprendre!
la source
Pas de combinaisons de test dans JUnit4. Utilisez plutôt des annotations ou utilisez les anciennes conventions de nom JUnit3.
Exemple:
la source
Cela m'est également arrivé. J'ai essayé de redémarrer Eclipse et j'ai également préfixé mes méthodes de test avec des tests. Aucun des deux n'a fonctionné.
L'étape suivante a fonctionné: Changez toutes vos méthodes de test présentes dans @BeforeClass et @AfterClass en méthodes statiques.
c'est-à-dire si vous avez votre méthode de test au format ci-dessous:
puis changez-le en:
Cela a fonctionné pour moi.
la source
J'ai trouvé la réponse:
J'ai eu cette erreur lorsque j'ai exécuté le test autonome depuis eclipse (faites un clic droit sur la méthode et choisissez de l'exécuter en tant que test junit),
Lorsque j'ai exécuté la classe complète en tant que test junit, le test s'est exécuté correctement avec les paramètres.
la source
Quand je fais face à ce problème, je viens de modifier le fichier et de l'enregistrer ... fonctionne comme un charme
la source
Mon problème était que la déclaration
import org.junit.Test;
a disparu (ou n'a pas été ajoutée?). Après l'avoir ajouté, j'ai dû supprimer une autreimport
déclaration (Eclipse vous indiquera laquelle) et tout a recommencé à fonctionner.la source
Très tard, mais ce qui a résolu le problème pour moi, c'est que les noms de mes méthodes de test commençaient tous par des lettres majuscules: "public void Test". Faire le t minuscule a fonctionné.
la source
J'ai essayé la solution de Germán. Cela a fonctionné pour toutes les méthodes de ma classe mais j'ai beaucoup de classes dans mon projet.
J'ai donc essayé de supprimer du chemin de construction, puis de le rajouter. Cela a parfaitement fonctionné.
J'espère que ça aide.
la source
Six ans plus tard ... et il y a toujours des problèmes avec Eclipse et parfois ne pas trouver JUnits.
Dans mon Eclipse Mars 2, j'ai découvert qu'il ne reconnaîtrait pas les classes de test extraites de git s'il y avait plus de 9 ou 10
@Test
annotations dans le fichier. Je dois commenter tous les tests supplémentaires, exécuter la classe de test, puis les décommenter et relancer la classe. Allez comprendre...la source
Peut-être que votre configuration de lancement JUnit était pour une classe de test individuelle, et vous avez en quelque sorte changé cette configuration pour "exécuter tous les tests dans un dossier, un package ou un projet source"
Mais cela pourrait déclencher le message d'erreur "Aucun test trouvé avec le lanceur de test 'JUnit 4'".
Ou vous avez fait une modification dans votre classe de test, en supprimant l'
@Test
annotation.Voir cette page wiki .
la source
toto.lolo.Testrunner
et nontoto.lolo.testrunner
('T')J'ai également rencontré le même problème lors de l'exécution du test JUnit. J'ai résolu cela en mettant l'annotation @Test juste au-dessus de la fonction de test principale.
la source
Ce qui a résolu mon cas était similaire à la réponse de @ JamesG: j'ai redémarré Eclipse, reconstruit le projet et actualisé; MAIS avant de faire quoi que ce soit, j'ai d'abord fermé le projet (clic droit sur le projet dans l'explorateur de packages -> Fermer le projet), puis je l'ai rouvert. Ensuite, cela a fonctionné.
Une solution de contournement que j'ai trouvée avant de trouver cette solution ultime que je viens de décrire: Copiez la classe de test et exécutez la classe de test en tant que JUnit.
la source
Vérifiez si le dossier dans lequel se trouvent vos tests est un dossier source. Sinon, faites un clic droit et utilisez comme dossier source.
la source
Fermer et ouvrir le projet a fonctionné pour moi.
la source
Il y a une autre chance, vous pourriez avoir changé Junit Test de la version inférieure (par exemple Junit 3) à Junit 4. Est-ce que suivre les étapes ci-dessous: -
la source
Ajoutez
@Test
en plus de votre test.Passez la souris sur l'annotation.
Choisissez 'ajouter la bibliothèque junit 4 au classpath'
la source
Votre projet Eclipse est-il basé sur maven? Si tel est le cas, vous devrez peut-être mettre à jour la version m2eclipse.
De là: http://nuin.blogspot.com/2009/07/m2eclipse-and-junit4-no-tests-found.html
la source
Cela m'est arrivé aussi. J'ai trouvé que dans Eclipse, je n'avais pas créé de nouveau fichier Java Class et c'est pourquoi il ne se compilait pas. Essayez de copier votre code dans un fichier de classe java s'il n'y est pas déjà, puis compilez.
la source
J'ai découvert qu'Eclipse semble n'effectuer des tests de style JUnit 3 que si votre classe de test s'étend de
TestCase
. Si vous supprimez l'héritage, les annotations ont fonctionné pour moi.Attention, vous devez importer statiquement toutes les
assert*
méthodes requises commeimport static org.junit.Assert.*
.la source
Je devais faire un mvn clean en ligne de commande puis project-> clean dans eclipse. J'ai renommé la classe au préalable, puis l'ai renommée, mais je doute que cela ait aidé.
la source
J'utilise également Eclipse avec Maven (m2e 1.4). Les tests étaient en cours avec Maven, mais pas avec Eclipse ... même après plusieurs applications de
Maven>Update project
.Ma solution a été d'ajouter quelques lignes dans le .classpath généré par m2e. Les lignes collent maintenant.
la source
J'ai ce problème de temps en temps. La chose qui résout le problème le plus pour moi est d'exécuter le test JUnit à partir des configurations d'exécution ... en s'assurant que JUnit 4 est défini comme lanceur de test.
En général, je vois ce problème lorsque je tente d'exécuter en tant que ... Junit test à partir du menu contextuel de l'Explorateur de packages. Si vous cliquez avec le bouton droit sur le code du test que vous essayez d'exécuter et au lieu de sélectionner Exécuter en tant que ... Test Junit, sélectionnez Exécuter les configurations ... assurez-vous que le projet, la classe de test et le lanceur de test sont correctement définis, cliquez sur Appliquer, puis exécutez fonctionne tout le temps pour moi.
la source
J'ai commencé à travailler avec Selenium et Eclipse dans mon travail et je faisais mon premier test automatisé et j'ai supprimé du code @Before, @Test et @After notes et j'avais ce problème "Aucun test trouvé avec le test runner junit4" .
Ma solution était simplement d'ajouter à nouveau les notes @Before, @Test et @After et avec cela mon script fonctionnait. Il est important de ne pas supprimer cela du code.
Ceci est un test simple qui utilise Google pour rechercher quelque chose:
la source
En utilisant ScalaIDE (3.0.4-2.11-20140723-2253-Typesafe), j'avais un problème similaire avec le
Right Click Scala Test Class-> Run As -> Scala Junit Test
menu contextuel.J'ai essayé de modifier la classe (mais pas pour un échec de compilation), de nettoyer, de fermer le projet, de fermer Eclipse. Aucun de ceux-ci n'a fonctionné pour restaurer le menu contextuel des classes qui avaient auparavant bien fonctionné. Les classes de test n'utilisent pas l'
@Test
annotation et utilisent plutôt l'@RunWith(classOf[JUnitRunner])
annotation en haut de la classe en utilisant le code ScalaTest.Quand j'ai essayé de choisir
Scala Junit Test
directement dans l'éditeur de lancement de la configuration d'exécution, j'ai reçu la boîte de dialogue de la question. La réponse de Footix29 a été la clé pour moi.J'ai remarqué que même si j'avais nettoyé mon projet plusieurs fois, mes classes dans le répertoire / bin n'avaient pas été reconstruites depuis un certain temps.
Voici comment j'ai récupéré le menu contextuel et j'ai pu à nouveau exécuter
Scala Junit Test
s:manually
nettoyé les classes en supprimant/bin/<package dir>*
via ExplorerProject -> Clean
ed le projet avec une reconstruction complèteJe soupçonne qu'une modification de classe en général est capable de nettoyer un état enregistré d'Eclipse et de le remettre en marche. Dans mon cas, toutes les classes ouvrières que j'avais essayées avaient échoué,
manual
étape propre était juste le marteau dont j'avais besoin. Cependant, d'autres astuces qui affectent le concept d'Eclipse du chemin de classe / état de construction devraient également fonctionner.De plus, je pense que ce comportement a été déclenché en partie en tentant de refactoriser une classe Scala en la renommant (ce que l'EDI Scala Eclipse aspire), où tout le nettoyage après le changement de fichier initial est manuel. Il n'y avait pas d'erreurs de construction, mais il n'y avait pas non plus d'avertissement que je m'attendais à ce que quelque chose soit définitivement bloqué dans les informations sur l'état de construction d'Eclipse.
la source