2016-05-04 102 views
0

我正在通過maven運行測試用例。使用下面的命令:Maven無法運行特定測試

獲得成功mvn test

快速故障mvn -Dtest=LoginTest test

類名是LoginTest

堆棧跟蹤:

[錯誤]未能執行目標 org.apache.maven.plugins:maven-surefire-plugin:2.12.4:在項目Web上測試 (默認測試):沒有測試執行! (設置爲 -DfailIfNoTests = false忽略此錯誤。) - > [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException:未能執行目標 org.apache.maven.plugins:maven-surefire-plugin:2.12 .4:在項目Web上測試 (默認測試):沒有執行測試! (設置爲 -DfailIfNoTests = false以忽略此錯誤。) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116 ) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven。 java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286) at org.apache。 maven.cli.MavenCli.main(MavenCli.java:197) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus。 (org.apache.maven.plugin)引起的。 MojoFailureException:沒有執行測試 ! (設置-DfailIfNoTests = false以忽略此錯誤。) at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:579) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager。 java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) ...20 more

+0

你能後的測試類? –

回答

4

我相信surefire在默認情況下會尋找後綴「Test」,而不是「test」。無論是重命名你的類與「測試」結束,或者在你的pom.xml這樣加上「測試」你的神火配置:

  <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>${maven-surefire-plugin.version}</version> 
       <configuration> 
        <includes> 
         <include>**/*Test.class</include> 
         <include>**/*test.class</include> 
        </includes> 
       </configuration> 
      </plugin> 
+0

謝謝我犯了錯誤。非常感謝。 –

+0

在你上面的問題中,你寫了'mvn -Dtest = Logintest test'。也許你輸錯了? –

+0

是的。在那個命令中,應該是LoginTest,T應該是大寫。感謝提示。 –