2017-08-29 9 views
0

Je suis tryinf une application pour exécuter une seule méthode de test à partir de la ligne de commande en utilisant maven ou Junit. Mon projet est construit dans Junit Framework avec Maven.Exécuter une seule méthode à partir de la ligne de commande en utilisant Maven et Jnunit

J'ai une exécution parallèle en place pour exécuter des méthodes en parallèle. Lorsque j'essaie de l'exécuter à partir de la ligne de commande, il exécute toujours tous les testmenthds en parallèle.

mvn -Dtest=<Classname>#<testmethodname> test 

Est-ce que quelqu'un aide, comment Acheive pour exécuter seul TestMethod ou méthodes d'essai sepcific de commandline.

Versions: JUnit - 4.9 maven-plugin-compilateur - 2.5.1 maven-plugin-Surefire - 2,8

ce journal est refrence

[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building <ProjectName> 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 1 resource 
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory 
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-surefire-plugin:2.8:test (default-test) @ --- 
[INFO] Surefire report directory: C:\Automation\......\target\surefire-reports 

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
Concurrency config is parallel='methods', perCoreThreadCount=false, threadCount=6, useUnlimitedThreads=false 
Destroying 1 processes 
Destroying process.. 
Destroyed 1 processes 
Terminate batch job (Y/N)? 
+0

Quelle version JUnit utilisez-vous? –

+0

4.9 luckyvasul

Répondre

1

Le paramètre pour surefire un Executing seul test est test pas Test donc vous devez appeler la commande Maven suivante:

mvn -Dtest=<ClassName>#<TestMethodName> test 

Par exemple, étant donné ...

  • Un test FooTest avec une méthode d'essai: foo()
  • Un test BarTest avec une méthode d'essai: bar()

... vous pouvez invoquer les éléments suivants :

  • Run FooTest.foo()

    mvn -Dtest=FooTest#foo test 
    
  • Run FooTest.foo() et BarTest.bar()

    mvn -Dtest=FooTest#foo,FooTest#bar test 
    
+0

essayé test mvn -Dtest = ..... test # policy_getcustomersummary mvn surefire: test de -Dtest = ..... test # policy_getcustomersummary toujours son exécution de toutes testmethods de la classe donnée – luckyvasul

+1

@luckyvasul Pourriez-vous mettre à jour la question pour indiquer quelle version du plugin maven Surefire vous utilisez.Le paramètre '-Dtest' est vérifié avec JUnit4 et> 2.12.1 de maven-surefire-plugin. Voir [les docs] (https://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html) pour plus de détails sur la compatibilité des versions. – glytching

+0

cela a fonctionné ..après mise à jour à Surefire plugin à 2.19 ... pas je ne peux exécuter qu'un seul test particulier ou ensemble de méthodes de test ... Merci les gars. – luckyvasul

1

faute d'orthographe repéré ami, un bon est -Dtest et non -DTest

mvn -Dtest=<Classname>#<testmethodname> test 

En outre, comme vous exécutez déjà plusieurs tests en parallèle, vous pouvez également utiliser le modèle mentionné ci-dessous pour exécuter la même méthode de test s.

Exemple:

mvn -Dtest=Classname#testMethod1+testMethod2+testMethod3 test 

Profitez ...;)

+0

désolé, qui était une faute de frappe .... test mvn -DTest = # luckyvasul

+0

test mvn -Dtest = # .. toujours en cours d'exécution toutes les méthodes d'essai – luckyvasul

+0

u ne mentionnent en dernier essai? –