Maven déclenche une erreur lors de l'exécution de testng des cas de test
J'ai configuration Eclipse + Maven + TestNG et j'ai l'intention d'exécuter le Sélénium cas de Test.
C'est mon POM Fichier:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MyGroupId</groupId>
<artifactId>TestSuite</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.32.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-testng</artifactId>
<version>2.14.1</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Maintenant, quand j'essaie d'exécuter Maven test, j'obtiens l'erreur suivante:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
org.apache.maven.surefire.util.SurefireReflectionException:
java.lang.reflect.InvocationTargetException; nested exception is
java.lang.reflect.InvocationTargetException: null
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at org.apache.maven.surefire.util.ReflectionUtils.instantiateOneArg(ReflectionUtils.java:130)
at org.apache.maven.surefire.booter.SurefireReflector.instantiateProvider(SurefireReflector.java:247)
at org.apache.maven.surefire.booter.ProviderFactory.createProvider(ProviderFactory.java:81)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:171)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
Caused by: java.lang.NoSuchMethodError: org.apache.maven.surefire.providerapi.ProviderParameters.getRunOrderCalculator()Lorg/apache/maven/surefire/util/RunOrderCalculator;
at org.apache.maven.surefire.testng.TestNGProvider.<init>(TestNGProvider.java:67)
... 10 more
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
Quelqu'un peut-il me suggérer ce qui me manque ici.
Merci d'avance.
OriginalL'auteur Rishab Garg | 2013-04-30
Vous devez vous connecter pour publier un commentaire.
Vous devez définir le maven-surefire-plugin dans le pluginManagement section comme suit:
À utiliser testng en relation avec le maven-surefire-plugin, vous avez généralement besoin d'ajouter testng comme une dépendance rien de plus.
En outre de supprimer la dépendance que vous avez donné:
En dehors de la au-dessus de ce qui est à la recherche de plus comme l'un des tests d'intégration qui est le travail de maven-failsafe plugin et pas de maven-surefire-plugin.
Ce qui signifie que vos tests (sans doute des tests d'intégration basé sur le sélénium dépendance) peut être exécuté en utilisant:
Faire un simple projet de reproduire le problème et de mettre le code avec pom, etc.... sur Github.
OriginalL'auteur khmarbaise
J'ai aussi eu un problème qui a conduit à cette erreur, mais pour moi, il s'est avéré être le fichier manquant droits d'accès pour le compte d'exécuter les tests dans le dossier test.
Peut-être quelque chose à vérifier
OriginalL'auteur aL3891
Peut-être aider quelqu'un. M'a aidé à changement de version de la dépendance de testng
C'était:
Et est devenu:
OriginalL'auteur user3319778
la modification de la testNG dépendance version pom.xml de 6.14.3 à 6.10 aidera à éviter les situations d'exception.
Ceci est un commentaire, mais pas de réponse. Lire les règles, s'il vous plaît.
OriginalL'auteur Sandeep Jaiswal