2013-05-23 24 views
10

Tôi đang sử dụng Maven với nhiều mô-đun. Có 3 dự án.Maven không thực hiện bất kỳ kiểm tra đơn vị nào

foo(the parent project) 
foo-core 
foo-bar 

tôi cấu hình tất cả các phụ thuộc và plugins trong foo 's pom:

<modules> 
    <module>../foo-core</module> 
    <module>../foo-bar</module> 
</modules> 

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      ... 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.1</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.14.1</version> 
       <dependencies> 
        <dependency> 
        <groupId>org.apache.maven.surefire</groupId> 
        <artifactId>surefire-junit47</artifactId> 
        <version>2.14.1</version> 
        </dependency> 
       </dependencies> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

Có một số lớp cơ sở và các lớp util cho kiểm tra đơn vị trong foo-core, vì vậy tôi thêm maven-jar-plugin trong dự án foo-core để cung cấp nó cho foo-bar:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.3.1</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>test-jar</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

Khi tôi thực hiện test mục tiêu, tôi có kết quả như sau:

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
parallel='none', perCoreThreadCount=true, threadCount=2, useUnlimitedThreads=false 

Results : 

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

Tôi đã thử nghiệm trong các dự án của tôi. Nhưng tại sao nó không chạy bất kỳ của họ?

+0

Đừng tên các tập tin thử nghiệm phù hợp với những người được liệt kê trên trang chắc chắn? http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html –

+0

@Grzegorz Có. Tất cả các tệp thử nghiệm đều có tên là *** Tests.java. –

+0

Nếu có, vui lòng xem câu trả lời. –

Trả lời

15

file test Rename **Tests.java-**Test.java hoặc thêm cấu hình sau để pom.xml

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.14.1</version> 
    <configuration> 
    <includes> 
     <include>**/*Tests.java</include> 
    </includes> 
    </configuration> 
</plugin> 
+0

Chết tiệt! Làm thế nào tôi có thể bị mù! –

+1

@Kirin Yao Đừng lo lắng! Tôi biết câu trả lời chỉ vì tôi đã làm sai lầm tương tự ở đầu mỗi dự án. :-) –

+0

Điều này không hiệu quả đối với tôi. Tôi có một lớp "OptimizerTest.java" và nó hoạt động hoàn hảo mà không có bất kỳ sự bao gồm nào, nhưng lớp "OptimizerTest2.java" khác không hoạt động. Nếu tôi chạy mvn: test -Dtest = OptimizerTest tôi nhận được BUILD SUCCESS với 3 TESTs PASSED, nếu tôi chạy lệnh tương tự nhưng đối với OptimizerTest2 tôi nhận được BUILD FAILURE, chạy thử: 0 nơi OptimizerTest2 chỉ là bản sao đầu tiên ° ° ° – Aerox

Các vấn đề liên quan