Le test mockito ne donne pas une telle erreur de méthode quand il est exécuté en tant que test de junit mais quand les jars sont ajoutés manuellement dans les confugurations d'exécution, il fonctionne bien
J'ai été confronté à un problème particulier. En gros, quand je lance mon Mockito/PowerMockito test, normalement, c'est à dire "Exécuter en tant qu'Junit Test', il me donne l'erreur suivante :
java.lang.NoSuchMethodError: org.mockito.mock.MockCreationSettings.isUsingConstructor()Z
at org.mockito.internal.creation.instance.InstantiatorProvider.getInstantiator(InstantiatorProvider.java:10)
at org.powermock.api.mockito.internal.mockcreation.MockCreator.createMethodInvocationControl(MockCreator.java:110)
at org.powermock.api.mockito.internal.mockcreation.MockCreator.mock(MockCreator.java:58)
at org.powermock.api.mockito.PowerMockito.mock(PowerMockito.java:203)
at org.powermock.api.extension.listener.AnnotationEnabler.standardInject(AnnotationEnabler.java:106)
at org.powermock.api.extension.listener.AnnotationEnabler.beforeTestMethod(AnnotationEnabler.java:54)
at org.powermock.tests.utils.impl.PowerMockTestNotifierImpl.notifyBeforeTestMethod(PowerMockTestNotifierImpl.java:90)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.executeTest(PowerMockJUnit44RunnerDelegateImpl.java:292)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTestInSuper(PowerMockJUnit47RunnerDelegateImpl.java:127)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTest(PowerMockJUnit47RunnerDelegateImpl.java:82)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runBeforesThenTestThenAfters(PowerMockJUnit44RunnerDelegateImpl.java:282)
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:86)
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.invokeTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:207)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.runMethods(PowerMockJUnit44RunnerDelegateImpl.java:146)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$1.run(PowerMockJUnit44RunnerDelegateImpl.java:120)
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:33)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:45)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.run(PowerMockJUnit44RunnerDelegateImpl.java:122)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:106)
at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53)
at org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:59)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
J'avais essayé d'ajouter tous les pots dans le maven de la dépendance ainsi que dans le build path, mais en vain.
Cependant, j'ai ensuite ajouté les pots manuellement dans exécuter les configurations->chemin de classe->entrées utilisateur. Ensuite, j'ai couru à l'essai, comme je le feriez normalement, et il s'affiche le vert de la barre d'état c'est à dire qu'il a fonctionné à la perfection.
Merci de m'aider sur ce point. J'ai besoin d'avoir le test de course sans ces ennuyeux des changements qui aurait une incidence sur mon travail. Que pourrais-je faire pour que je cun exécuter le test, normalement, c'est à dire sans aller tout le chemin à exécuter les configurations, mais simplement en ajoutant les pots dans le build path puis "exécuter en tant qu'junit test"?
source d'informationauteur Siddharth Mehta
Vous devez vous connecter pour publier un commentaire.
Essayer Ctrl + Maj + T sur votre eclipse écran. Vérifiez quels sont vos résultats. Idéalement eclipse doit résoudre cette classe uniquement à partir d'une dépendance. Si vous obtenez plusieurs résultats, vous devrez peut-être ajouter de l'exclusion de certaines dépendances.
Également vérifier si vous êtes en mesure d'exécuter vos cas de test à partir de l'invite de commande. Si vous êtes en mesure de le faire, alors ce n'est pas une maven problème. Mais si quelque chose ne marche pas ici, vérifiez vos dépendances.
Pour moi mockito version a été crée des problèmes. Juste enlever mockito de dépendance si vous avez ajouté explicitement dans votre fichier pom. J'ai juste enlevé -
ligne de mon gradle fichier. Permet de pouvoir se moquer de résoudre et d'ajouter mockito de dépendance dont il a besoin, c'est propre, au lieu de vous avec force l'ajout d'un ce qui peut déboucher sur des conflits.
Donc, pour moi, les dépendances sont -
autres que junit et d'autres lib dépendances que vous pourriez avoir.
Votre IDE doit être synchronisé avec Maven, qui est ce que vous faites manuellement par l'ajout de dépendances.
Malheureusement, Eclipse n'est pas (ou n'a pas ce comportement out-of-the-box (contrairement à l'Ide, qui se synchronise de manière transparente).
La solution utilisée pour être fait avec le Maven Plugin Eclipse mais en regardant les docs il semble que la dernière façon de le faire est avec Eclipse, Maven, Intégration plugin pour l'IDE.
Je pense qu'il y a problème avec mockito version - je viens de mettre à jour à partir d' -