2013-10-29 58 views
0

我有一個在eclipse中設置的mavenized測試項目,我可以在eclipse中運行測試,但是當我嘗試從命令行(使用mvn測試)運行它時,它運行沒有測試:命令行maven沒有運行任何測試

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.997s 
[INFO] Finished at: Tue Oct 29 16:58:37 GMT 2013 
[INFO] Final Memory: 6M/81M 
[INFO] ------------------------------------------------------------------------ 

我的pom.xml這個樣子的:

<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>mocha</groupId> 
    <artifactId>mocha</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>2.35.0</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.googlecode.json-simple</groupId> 
      <artifactId>json-simple</artifactId> 
      <version>1.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-lang</groupId> 
      <artifactId>commons-lang</artifactId> 
      <version>2.6</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
    <build> 
    <sourceDirectory>src</sourceDirectory> 

    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
     </configuration> 
     </plugin> 
     <plugin> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.12.1</version> 
     </plugin> 

    </plugins> 
    </build> 
</project> 

我在做什麼錯?

+1

你的測試在'src/test/java'中嗎?它們是否有'@ Test'註解? – PaulProgrammer

+0

它們用@Test標記,但不在/ src/test/java下。重新排列之後,我得到錯誤「無法在'mocha/src'中嵌套'mocha/src/test/java'。爲了使嵌套從'mocha/src'排除'test /'。不確定如何做到這一點? – user650309

+0

將文件夾佈局更改爲maven默認值。 'src/main/java'你的生產java代碼和你的單元測試的'src/test/java'下。從你的POM中刪除適當的配置並重試。 – khmarbaise

回答

0

更改項目佈局於以下內容:

mocha 
    src 
     main 
      java/com/.../MyClass.java 
      resources/... 
     test 
      java/com/.../MyTest.java 

取出<sourceDirectory>src</sourceDirectory>,讓行家接受默認值。

+0

有什麼我必須專門做,以允許maven接受默認值? – user650309

+0

只是刪除''配置。 – PaulProgrammer

0

maven use *Test.java默認爲通配符。您的測試應該有測試後綴的名稱。 或者你應該重新定義它在maven-surefire-plugin

+0

你說得對,但我已經做到了。 – user650309